)]}'
{
  "commit": "fb079cb5c419e03d400a0a139c3ccc4eedc33bef",
  "tree": "06583fd6f6e61270050ccb8af732820cdfbc3ae9",
  "parents": [
    "a8ab094a329bd2d212f17485b24ad84fa409b546"
  ],
  "author": {
    "name": "Tom Tromey",
    "email": "tromey@adacore.com",
    "time": "Mon Feb 14 10:19:06 2022 -0700"
  },
  "committer": {
    "name": "Tom Tromey",
    "email": "tromey@adacore.com",
    "time": "Wed Mar 02 09:11:30 2022 -0700"
  },
  "message": "Rewrite make-target-delegates in Python\n\nI think gdb is probably better off having fewer languages involved\nwhen generating code.  \u0027sh\u0027 is unavoidable for build-time generation,\nbut for other things, let\u0027s use Python.\n\nThis rewrites make-target-delegates in Python.  I\u0027ve stuck pretty\nclosely to the original code in this rewrite, so it may look slightly\nweird from a Python perspective.\n\nThe only output difference is that a copyright header is now\ngenerated, using the code introduced in the previous patch.\n\nmake-target-delegates.py is simpler to invoke, as it knows the correct\ninput file to scan and it creates the output file itself.\n\n\n\n",
  "tree_diff": [
    {
      "type": "delete",
      "old_id": "f759b5507cad6246e66f0ae4f0ab8abca598e540",
      "old_mode": 33261,
      "old_path": "gdb/make-target-delegates",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "97178072a37427f3978ab48c2d485025a09f3848",
      "new_mode": 33261,
      "new_path": "gdb/make-target-delegates.py"
    },
    {
      "type": "modify",
      "old_id": "ca1734f86ba8bd1c20dd48afb82aaedfef30a094",
      "old_mode": 33188,
      "old_path": "gdb/target-delegates.c",
      "new_id": "fd01b640f7c700f94e90190086fe74fa38cda9c1",
      "new_mode": 33188,
      "new_path": "gdb/target-delegates.c"
    }
  ]
}
