)]}'
{
  "commit": "46774a81f9d6ca4d230d33757afe9dd07bfe398b",
  "tree": "e8d1c9cc4a5d06f92457c9098757c42ed359be24",
  "parents": [
    "5773c9f2b28c3af92b7e9c6832536e99ab11cc78"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "junkio@cox.net",
    "time": "Sat Oct 29 14:35:11 2005 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "junkio@cox.net",
    "time": "Sat Oct 29 14:35:11 2005 -0700"
  },
  "message": "GIT 0.99.9\n\nDone in 0.99.9\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nPorts\n~~~~~\n\n* Cygwin port [HPA].\n\n* OpenBSD build [Merlyn and others].\n\nFixes\n~~~~~\n\n* clone request over git native protocol from a repository with\n  too many refs did not work; this has been fixed.\n\n* git-daemon got safer for kernel.org use [HPA].\n\n* Extended SHA1 parser was not enforcing uniqueness for\n  abbreviated SHA1; this has been fixed.\n\n* http transport does not barf on funny characters in URL.\n\n* The ref naming restrictions have been formalized and the\n  coreish refuses to create funny refs; we still need to audit\n  importers.  See git-check-ref-format(1).\n\nNew Features and Commands\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* .git/config file as a per-repository configuration mechanism,\n  and some commands understand it [Linus].  See\n  git(7).\n\n* The core.filemode configuration item can be used to make us a\n  bit more FAT friendly.  See git(7).\n\n* The extended SHA1 notation acquired Peel-the-onion operator\n  ^{type} and ^{}.  See git-rev-parse(1).\n\n* SVN importer [Matthias].  See git-svnimport(1).\n\n* .git/objects/[0-9a-f]{2} directories are created on demand,\n  and removed when becomes empty after prune-packed [Linus].\n\n* Filenames output from various commands without -z option are\n  quoted when they embed funny characters (TAB and LF) using\n  C-style quoting within double-quotes, to match the proposed\n  GNU diff/patch notation [me, but many people contributed in\n  the discussion].\n\n* git-mv is expected to be a better replacement for git-rename.\n  While the latter has two parameter restriction, it acts more\n  like the regular \u0027mv\u0027 that can move multiple things to one\n  destinatino directory [Josef Weidendorfer].\n\n* git-checkout can take filenames to revert the changes to\n  them.  See git-checkout(1)\n\n* The new program git-am is a replacement for git-applymbox that\n  has saner command line options and a bit easier to use when a\n  patch does not apply cleanly.\n\n* git-ls-remote can show unwrapped onions using ^{} notation, to\n  help Cogito to track tags.\n\n* git-merge-recursive backend can merge unrelated projects.\n\n* git-clone over native transport leaves the result packed.\n\n* git-http-fetch issues multiple requests in parallel when\n  underlying cURL library supports it [Nick and Daniel].\n\n* git-fetch-pack and git-upload-pack try harder to figure out\n  better common commits [Johannes].\n\n* git-read-tree -u removes a directory when it makes it empty.\n\n* git-diff-* records abbreviated SHA1 names of original and\n  resulting blob; this sometimes helps to apply otherwise an\n  unapplicable patch by falling back to 3-way merge.\n\n* git-format-patch now takes series of from..to rev ranges and\n  with \u0027-m --stdout\u0027, writes them out to the standard output.\n  This can be piped to \u0027git-am\u0027 to implement cheaper\n  cherry-picking.\n\n* git-tag takes \u0027-u\u0027 to specify the tag signer identity [Linus].\n\n* git-rev-list can take optional pathspecs to skip commits that\n  do not touch them (--dense) [Linus].\n\n* Comes with new and improved gitk [Paulus and Linus].\n\nSigned-off-by: Junio C Hamano \u003cjunkio@cox.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e76e6c4a3e17acc56a93204ca68ad2519e5e04e2",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "7bccc76f15c3796c478ac6688c70f43ccd72de6d",
      "new_mode": 33188,
      "new_path": "Makefile"
    },
    {
      "type": "modify",
      "old_id": "bebc1919ba70ce71d015e71a572cc583641362c5",
      "old_mode": 33188,
      "old_path": "debian/changelog",
      "new_id": "5fd31b7ef4ffb0854571d810ba85f81e2d998a77",
      "new_mode": 33188,
      "new_path": "debian/changelog"
    }
  ]
}
