)]}'
{
  "commit": "18d08bfc15499463b2efbf0ae5ef9be6ce051262",
  "tree": "4bca3611c9a580816aeb340bd2403419fd412224",
  "parents": [
    "ec9dd67691c4f98c6485256a0ad78d66f62f5174"
  ],
  "author": {
    "name": "Alexei Frolov",
    "email": "frolv@google.com",
    "time": "Fri Jun 05 13:42:40 2020 -0700"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "commit-bot@chromium.org",
    "time": "Mon Jun 08 20:03:01 2020 +0000"
  },
  "message": "pw_protobuf: Modularize codegen plugin\n\nThis change splits the pw_protobuf codegen plugin into three parts: the\nProtoNode tree, pwpb-specific code generation, and the compiler plugin.\nThis is done so that parts of the code can be reused in other protobuf\ncompiler plugins.\n\nChange-Id: I36ff2e0970f41783135cfb10fc8d3bf8701ec7d0\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9e372118ce6a6603dcd24416863ba10cbfef2774",
      "old_mode": 33188,
      "old_path": "pw_protobuf/BUILD.gn",
      "new_id": "f5f05b942e2e90e9537ed0bce38ac4d789397290",
      "new_mode": 33188,
      "new_path": "pw_protobuf/BUILD.gn"
    },
    {
      "type": "delete",
      "old_id": "a9329b5d77cf9f774eef3f2d78ee59cd5ef5bd36",
      "old_mode": 33261,
      "old_path": "pw_protobuf/py/pw_protobuf/codegen.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "023437d90dc4d20ecb50af5fb36e002a90afb464",
      "old_mode": 33188,
      "old_path": "pw_protobuf/py/pw_protobuf/methods.py",
      "new_id": "5fb66617a8d805991f7b85805a19283dc03f8eca",
      "new_mode": 33188,
      "new_path": "pw_protobuf/py/pw_protobuf/codegen_pwpb.py",
      "score": 61
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3702a6e776d8b15016eb077656522980534c6b8d",
      "new_mode": 33261,
      "new_path": "pw_protobuf/py/pw_protobuf/plugin.py"
    },
    {
      "type": "delete",
      "old_id": "600e4947c69e03c720bee2ced80fe674ac4f4e67",
      "old_mode": 33188,
      "old_path": "pw_protobuf/py/pw_protobuf/proto_structures.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7b9e361a5f3f0c86650cdfb33a750d023eff8b1a",
      "new_mode": 33188,
      "new_path": "pw_protobuf/py/pw_protobuf/proto_tree.py"
    },
    {
      "type": "modify",
      "old_id": "06192fdec417fe1337d2b2f8340a397d603721b0",
      "old_mode": 33188,
      "old_path": "pw_protobuf/py/setup.py",
      "new_id": "4d991969dd8178c9ac9807e04baa2aa8ec6edede",
      "new_mode": 33188,
      "new_path": "pw_protobuf/py/setup.py"
    }
  ]
}
