)]}'
{
  "commit": "38ccaf93bbf5a99dbff908068292ffaa5bafe25e",
  "tree": "cd1b379e0ebd26c6b5576e023c67338c41462d4e",
  "parents": [
    "a26d48a46e8d7df58e7a91e7aac6795e29ddbd6d",
    "aeb6f8b3a2bbfd8b48a967139fbf4581e5345182"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue May 26 13:24:45 2015 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue May 26 13:24:46 2015 -0700"
  },
  "message": "Merge branch \u0027nd/untracked-cache\u0027\n\nTeach the index to optionally remember already seen untracked files\nto speed up \"git status\" in a working tree with tons of cruft.\n\n* nd/untracked-cache: (24 commits)\n  git-status.txt: advertisement for untracked cache\n  untracked cache: guard and disable on system changes\n  mingw32: add uname()\n  t7063: tests for untracked cache\n  update-index: test the system before enabling untracked cache\n  update-index: manually enable or disable untracked cache\n  status: enable untracked cache\n  untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE\n  untracked cache: mark index dirty if untracked cache is updated\n  untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS\n  untracked cache: avoid racy timestamps\n  read-cache.c: split racy stat test to a separate function\n  untracked cache: invalidate at index addition or removal\n  untracked cache: load from UNTR index extension\n  untracked cache: save to an index extension\n  ewah: add convenient wrapper ewah_serialize_strbuf()\n  untracked cache: don\u0027t open non-existent .gitignore\n  untracked cache: mark what dirs should be recursed/saved\n  untracked cache: record/validate dir mtime and reuse cached output\n  untracked cache: make a wrapper around {open,read,close}dir()\n  ...\n",
  "tree_diff": []
}
