)]}'
{
  "commit": "59135736c5bba8b432a81bcc1722576a66563f11",
  "tree": "6b33f06afc353b61ac2424a5496c64e16cd3e5f2",
  "parents": [
    "7daa1a16273ad0c423959013a287225fb238ce65"
  ],
  "author": {
    "name": "Christian Aistleitner",
    "email": "christian@quelltextlich.at",
    "time": "Sat Jun 20 00:31:53 2020 +0200"
  },
  "committer": {
    "name": "Christian Aistleitner",
    "email": "christian@quelltextlich.at",
    "time": "Sat Jun 20 09:23:14 2020 +0200"
  },
  "message": "Extend CommitMessageFetcher to handle non-commit objects\n\nCommitMessageFetcher expected to fetch for commit objects and failed\nfor non-commit objects.\n\nWith the advent of NoteDB, RefUpdatedEvents sometimes contain\nnon-commit objects. For example `refs/sequences/changes` typically\nreferences a blob. When this ref gets updated, Gerrit sends a\ncorresponding RefUpdatedEvent with blobs as oldRev and newRev, which\nused to trip up CommitMessageFetcher.\n\nTo avoid issues, we extend CommitMessageFetcher to work on ids of\narbitrary objects.\n\nChange-Id: I892b9299f73e71660b1a7d77d7f282a4f563001e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7049e51047d35e1974b259e53231e69809daf005",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/its/base/util/CommitMessageFetcher.java",
      "new_id": "ed1c6b3aa8d95a50d396cdeb7f3077479194dc81",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/its/base/util/CommitMessageFetcher.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "890e182dc920cea49fb6fdc12634ea9ac984ca5e",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/its/base/util/CommitMessageFetcherTest.java"
    }
  ]
}
