)]}'
{
  "commit": "430ac9bf30208f371690813f6a77e059a0900526",
  "tree": "9dc2f3fdc7f6b7947b744f92bc55620602fa4cc3",
  "parents": [
    "2425b53eed4d39270e91d540142833daba87d01f"
  ],
  "author": {
    "name": "Patrick Hiesel",
    "email": "hiesel@google.com",
    "time": "Thu Mar 18 10:12:13 2021 +0100"
  },
  "committer": {
    "name": "Patrick Hiesel",
    "email": "hiesel@google.com",
    "time": "Fri Mar 19 13:57:08 2021 +0100"
  },
  "message": "Compute AutoMerge commits synchronously when processing merge commits\n\nGerrit allows users to compare a patch set that is a merge commit\nagainst a plain merge of the patch sets parents in Git. This allows\nusers to spot any manual modifications that the change owner might\nhave made.\n\nTo do so, Gerrit computes that plain merge and stores it in Git.\nPreviously, that merge was computed and stored when first requested.\nThis led to situations where Gerrit processed read requests and while\nprocessing attempted a Git write. That slows these requests down and\nmakes debugging hard.\n\nThis commit changes that behavior so that we compute the auto merge\npatch set synchronously when processing a git push. The ref update\nis added to the existing ref transaction, so it\u0027s only created if\nthe push succeeds.\n\nWhen retrieving auto merge commits that are missing, we compute\nthem in-memory. A new counter is added to track how often this\nhappens.\n\nChange-Id: Iebb1a5a8d017250fa451a5ff40a12ef9b3f136a5\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d3bea0044ae1a22ed40bcd5f3a4495a0ceed2384",
      "old_mode": 33188,
      "old_path": "Documentation/metrics.txt",
      "new_id": "cde6864c602352d4b2c0267e351485de5f476334",
      "new_mode": 33188,
      "new_path": "Documentation/metrics.txt"
    },
    {
      "type": "modify",
      "old_id": "2b49a063cbef2f3aa14cd5c58fd6efdb03aaab84",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/change/ChangeInserter.java",
      "new_id": "fb027bdb9aa4451d4951efc451835e6e1d2551ac",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/change/ChangeInserter.java"
    },
    {
      "type": "modify",
      "old_id": "4c1e9fbdba00bf5ebc7fbbe701f192d6b0d22355",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/change/PatchSetInserter.java",
      "new_id": "d2bf3feb46db116f0cc3b8f1434f1396a8c5a850",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/change/PatchSetInserter.java"
    },
    {
      "type": "modify",
      "old_id": "4600f6ddf4ce1dfcab61c6b2eb07f038ed01ed6e",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/git/receive/ReceiveCommits.java",
      "new_id": "f35b3dd732d453ebe34596de31e9f5dd05de3f3b",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/git/receive/ReceiveCommits.java"
    },
    {
      "type": "modify",
      "old_id": "ac374113defc61dbe68ce2d6c72cdab09782b021",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/patch/AutoMerger.java",
      "new_id": "de5b1da43b21ec2b14f9330dbb8f27b846aba6e5",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/patch/AutoMerger.java"
    },
    {
      "type": "modify",
      "old_id": "de4a10ec51dec074b80a7a691a6921b3e7dadfe9",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/patch/BaseCommitUtil.java",
      "new_id": "7c06a62be90098ba8c1fb8f6ba80e6b29d191be0",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/patch/BaseCommitUtil.java"
    },
    {
      "type": "modify",
      "old_id": "d1c0b459febc160b80d82b79022f64728dac190d",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/patch/filediff/PatchListLoader.java",
      "new_id": "017e276b8cc46d24a0f480ceff1a083392a78e1b",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/patch/filediff/PatchListLoader.java"
    },
    {
      "type": "modify",
      "old_id": "12b4d440f3541975638b4057d61ab114908e6e18",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/restapi/change/GetBlame.java",
      "new_id": "04828f257e79714ddbd4f5e72f020345bce6b346",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/restapi/change/GetBlame.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "46688dd2b37538ab3e4e14cd34b58e9256b0f43e",
      "new_mode": 33188,
      "new_path": "javatests/com/google/gerrit/acceptance/git/AutoMergeIT.java"
    }
  ]
}
