)]}'
{
  "commit": "7cbcfd2a3a507472eb244cf1a773b177d291d253",
  "tree": "8bb304384cbfb01d5cef725d0ab5a07e2118c976",
  "parents": [
    "b4584ad31125a13649de9a953bd931364fd5ae0b"
  ],
  "author": {
    "name": "Alexandre Philbert",
    "email": "alexandre.philbert@ericsson.com",
    "time": "Thu May 19 10:31:04 2016 -0400"
  },
  "committer": {
    "name": "Alexandre Philbert",
    "email": "alexandre.philbert@ericsson.com",
    "time": "Thu May 19 15:07:19 2016 -0400"
  },
  "message": "Double check if a ref is missing locally before deleting from remote\n\nRepository.getRefs sometimes does not return the correct list of refs in\nthe local repository (missing some). For this reason, we double check\nusing Repository.getRef. Without this check, the ref is deleted from the\nremote by mistake.\n\nThe suspicion for the former function not returning the correct list is\nprimarily heavy garbage collection.\n\nIt isn\u0027t confirmed whether the latter function always returns the\ncorrect value. Possibly a second check isn\u0027t enough, but it still\ncatches many occurences of the issue. The presumption is that getRef is\nmore atomic than getRefs.\n\nChange-Id: I619c92c55e36a4b6719ef812bdddb2d3b2aab814\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4a2d01b9d1f3cb4888d9a2a76dd1cb86a090172e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java",
      "new_id": "66304bca0a250d2a9a1e1dc696839e454f25c89b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java"
    }
  ]
}
