)]}'
{
  "commit": "3e6b1d0abcd58f0b2b106212ce0a0e07a6de342f",
  "tree": "fdb5a3792a17a0279889d9b589dab58fc351bc82",
  "parents": [
    "784f8affe4dfc8ceec93803d6c22b4b8467a4642"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Feb 10 12:16:31 2009 -0800"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Wed Feb 11 18:32:16 2009 -0800"
  },
  "message": "Make repack less likely to corrupt repository\n\nSome platforms refuse to rename a file that is open.  When repacking an\nalready packed repository without adding any new object, the resulting\npack will contain the same set of objects as an existing pack, and on such\nplatforms, a newly created packfile cannot replace the existing one.\n\nThe logic detected this issue but did not try hard enough to recover from\nit.  Especially because the files that needs renaming come in pairs, there\npotentially are different failure modes that one can be renamed but the\nothers cannot.  Asking manual recovery to end users were error prone.\n\nThis patch tries to make it more robust by first making sure all the\nexisting files that need to be renamed have been renamed before\ncontinuing, and attempts to roll back if some failed to rename.\n\nThis is based on an initial patch by Robin Rosenberg.\n\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "458a497af810c7bb188a5aafb80c32aa0bc05264",
      "old_mode": 33261,
      "old_path": "git-repack.sh",
      "new_id": "be6db5e805d62e0440f7de3c1f6ee3fcd16a2ed3",
      "new_mode": 33261,
      "new_path": "git-repack.sh"
    }
  ]
}
