)]}'
{
  "commit": "44d1c19ee8ab405108b90ab9c02cd86a014639e8",
  "tree": "b01368f217f11c3963f23f3a0265b5afa92de756",
  "parents": [
    "5723fe7e3cbbefae78bfb79c46b7716eef76fe52"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Sat Jun 14 11:32:37 2008 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Sat Jun 14 14:39:22 2008 -0700"
  },
  "message": "Make loose object file reading more careful\n\nWe used to do \u0027stat()+open()+mmap()+close()\u0027 to read the loose object\nfile data, which does work fine, but has a couple of problems:\n\n - it unnecessarily walks the filename twice (at \u0027stat()\u0027 time and then\n   again to open it)\n\n - NFS generally has open-close consistency guarantees, which means that\n   the initial \u0027stat()\u0027 was technically done outside of the normal\n   consistency rules.\n\nSo change it to do \u0027open()+fstat()+mmap()+close()\u0027 instead, which avoids\nboth these issues.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8d48a23c04b2c262d45c0b15570c73e964798830",
      "old_mode": 33188,
      "old_path": "sha1_file.c",
      "new_id": "71a25e78c2afd4adedd1f4f768e5b47e4894cdda",
      "new_mode": 33188,
      "new_path": "sha1_file.c"
    }
  ]
}
