)]}'
{
  "commit": "18c6fa8b14ab9ceb2266c88a3adff2dbbb0367a8",
  "tree": "2a8e2043461debc69b78a9f009d5e5d05eacb2d4",
  "parents": [
    "c50d78f30d7ab92076738a453ab71bbf88ba188a"
  ],
  "author": {
    "name": "David Chisnall",
    "email": "github@theravensnest.org",
    "time": "Mon May 20 18:11:46 2024 +0100"
  },
  "committer": {
    "name": "David Chisnall",
    "email": "davidchisnall@users.noreply.github.com",
    "time": "Fri May 24 15:01:52 2024 +0100"
  },
  "message": "Add type-safe debugging macros for C.\n\nThese refactor the C++ bits slightly so that the library functions are\nsafe to use from C or C++ (without defining identifiers called things\nlike Bool in the global namespace) and provides some debug macros that\ncan be used from both C and C++, so that they can be used in headers.\n\nAs with the C++ versions, these use {} as the placeholders (no format\nspecifiers supported yet) and pass the type along with the value as an\nargument.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "55f03851bae70f13e7353ef8d4102de4a3fcfd21",
      "old_mode": 33188,
      "old_path": "sdk/core/allocator/token.h",
      "new_id": "1c756700ce153454abd855e98dc5187192ec27d1",
      "new_mode": 33188,
      "new_path": "sdk/core/allocator/token.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "637e16629bb9c3d55f803c9e85137b2bed630c36",
      "new_mode": 33188,
      "new_path": "sdk/include/__debug.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ac507b77f4d75be039e772cdc4251b5691eba38d",
      "new_mode": 33188,
      "new_path": "sdk/include/__macro_map.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9e6a56ac8434748b93ed65abad75e16701db54f4",
      "new_mode": 33188,
      "new_path": "sdk/include/debug.h"
    },
    {
      "type": "modify",
      "old_id": "a95470bb15d26eb50506c61eb509d20c73b477ab",
      "old_mode": 33188,
      "old_path": "sdk/include/debug.hh",
      "new_id": "21fb6b8da80841c92c8b01f3799e06f37add222f",
      "new_mode": 33188,
      "new_path": "sdk/include/debug.hh"
    },
    {
      "type": "modify",
      "old_id": "123bf59cd7e2d46847152b4928ea676b2cb7fd55",
      "old_mode": 33188,
      "old_path": "sdk/lib/debug/debug.cc",
      "new_id": "0756164338984ee7d7979c431511619ed4fcd8a8",
      "new_mode": 33188,
      "new_path": "sdk/lib/debug/debug.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "03c008c3bdcc92492851ba8c364bbafe9f542ac6",
      "new_mode": 33188,
      "new_path": "tests/debug-test.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e44bb6501f8c8adbf8b4f7f10a00bc4cf79b2379",
      "new_mode": 33188,
      "new_path": "tests/debug-test.cc"
    },
    {
      "type": "modify",
      "old_id": "b59a8235423714518308b1d4d8d52723e924cdb5",
      "old_mode": 33188,
      "old_path": "tests/test-runner.cc",
      "new_id": "8d99fdd2c68fe0502696c49536675c9f6df7fb60",
      "new_mode": 33188,
      "new_path": "tests/test-runner.cc"
    },
    {
      "type": "modify",
      "old_id": "ffb71d04e77ea6a1c397549bd987dd8346672940",
      "old_mode": 33188,
      "old_path": "tests/tests.hh",
      "new_id": "bd63a3ce3152678cbbdb6594690ce7eddf473dfe",
      "new_mode": 33188,
      "new_path": "tests/tests.hh"
    },
    {
      "type": "modify",
      "old_id": "48c294a86776bac1c38f0686c9fc80cb06eec594",
      "old_mode": 33188,
      "old_path": "tests/xmake.lua",
      "new_id": "2f9e5ed5faffe425c5158671293614c03b846a28",
      "new_mode": 33188,
      "new_path": "tests/xmake.lua"
    }
  ]
}
