)]}'
{
  "commit": "734d5bb3c9566e7349a638b7a2ccc342d0842c61",
  "tree": "01a13c0f4cd7ad83ee3ff81d64675baf69de188f",
  "parents": [
    "0900dc08f59de482b38862094936e80fca39df2a"
  ],
  "author": {
    "name": "Marco Miller",
    "email": "marco.miller@ericsson.com",
    "time": "Wed May 25 16:45:13 2016 -0400"
  },
  "committer": {
    "name": "Marco Miller",
    "email": "marco.miller@ericsson.com",
    "time": "Fri Jun 10 08:49:53 2016 -0400"
  },
  "message": "RefDirectory: remove ref lock file for following ref dir removal\n\nBefore this fix, ref directory removal did not work. That was because\nthe ref lock file was still in the leaf directory at deletion time.\nHence no deep ref directories were ever deleted, which negatively\nimpacted performance under large directory structure circumstances.\n\nThis fix removes the ref lock file before attempting to delete the ref\ndirectory (which includes it). The other deep parent directories are\ntherefore now successfully deleted in turn, since leaf\u0027s content\n(lock file) gets removed first.\n\nSo, given a structure such as refs/any/directory[/**], this fix now\ndeletes all empty directories up to -and including- \u0027directory\u0027. The\n\u0027any\u0027 directory (e.g.) does not get deleted even if empty, as before.\n\nThe ref lock file is still also removed in the calling block\u0027s finally\nclause, just in case, as before. Such double-unlock brought by this\nfix is harmless (a no-op).\n\nA new (private) RefDirectory#delete method is introduced to support\nthis #pack-specific case; other RefDirectory#delete callers remain\nuntouched.\n\nChange-Id: I47ba1eeb9bcf0cb93d2ed105d84fea2dac756a5a\nSigned-off-by: Marco Miller \u003cmarco.miller@ericsson.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "48ea13b98a1df71703ec9b16a014b430b285a753",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcPackRefsTest.java",
      "new_id": "ea8dfa2939d6886d86d19250bc0087c0be8c6583",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcPackRefsTest.java"
    },
    {
      "type": "modify",
      "old_id": "4bb2982b481810b7ee09b768afe3cf8a52069d9f",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java",
      "new_id": "e5ca7368245f8439a2f39db53b854d6d76461945",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java"
    }
  ]
}
