)]}'
{
  "commit": "4ddd4a3d1b38ecf908978d596531ac9cdc7544dd",
  "tree": "bddc5a417cb4c71b4c2166a7d73f5226675de35f",
  "parents": [
    "8f6029786144b1d96e48d789c187cd8138ce8256"
  ],
  "author": {
    "name": "Hector Oswaldo Caballero",
    "email": "hector.caballero@ericsson.com",
    "time": "Tue Dec 13 07:38:39 2016 -0500"
  },
  "committer": {
    "name": "hcaballero",
    "email": "hector.caballero@ericsson.com",
    "time": "Tue Dec 13 10:47:05 2016 -0500"
  },
  "message": "Fix one case of missing object\n\nWhen a repository is being GCed and a concurrent push is received, there\nis the possibility of having a missing object. This is due to the fact\nthat after the list of objects to delete is built, there is a window of\ntime when an unreferenced and ready to delete object can be referenced\nby the incoming push. In that case, the object would be deleted because\nthere is no way to know it is no longer unreferenced. This will leave\nthe repository in an inconsistent state and most of the operations fail\nwith a missing tree/object error.\n\nGiven the incoming push change the last modified date for the now\nreferenced object, verify this one is still a candidate to delete\nbefore actually performing the delete operation.\n\nChange-Id: Iadcb29b8eb24b0cb4bb9335b670443c138a60787\nSigned-off-by: Hector Oswaldo Caballero \u003chector.caballero@ericsson.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2e8da8fc9bc1be9e92eec218ae2f6559bab5a7a3",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java",
      "new_id": "a3e9430b138f01185cb464a570cb0cb9d047f39f",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java"
    }
  ]
}
