)]}'
{
  "commit": "2794ad524462c4e2ecd4573d650e7b4f8da89a5d",
  "tree": "fdc7ec72b3ccd22b51a0b88a8cf4f9186a6aca45",
  "parents": [
    "d0af3734f14410e9c297aa08bf46fdb153a25ccb"
  ],
  "author": {
    "name": "David Barr",
    "email": "david.barr@cordelta.com",
    "time": "Sun Oct 10 14:30:15 2010 +1100"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Wed Oct 13 15:10:31 2010 -0700"
  },
  "message": "fast-import: Allow filemodify to set the root\n\nv1.7.3-rc0~75^2 (Teach fast-import to import subtrees named by tree id,\n2010-06-30) has a shortcoming - it doesn\u0027t allow the root to be set.\nExtend this behaviour by allowing the root to be referenced as the\nempty path, \"\".\n\nFor a command (like filter-branch --subdirectory-filter) that wants\nto commit a lot of trees that already exist in the object db, writing\nundeltified objects as loose files only to repack them later can\ninvolve a significant amount of overhead.\n(23% slow-down observed on Linux 2.6.35, worse on Mac OS X 10.6)\n\nFortunately we have fast-import (which is one of the only git commands\nthat will write to a pack directly) but there is not an advertised way\nto tell fast-import to commit a given tree without unpacking it.\n\nThis patch changes that, by allowing\n\n\tM 040000 \u003ctree id\u003e \"\"\n\nas a filemodify line in a commit to reset to a particular tree without\nany need to parse it.  For example,\n\n\tM 040000 4b825dc642cb6eb9a060e54bf8d69288fbee4904 \"\"\n\nis a synonym for the deleteall command and the fast-import equivalent of\n\n\tgit read-tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\n\nSigned-off-by: David Barr \u003cdavid.barr@cordelta.com\u003e\nCommit-message-by: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nAcked-by: Sverre Rabbelier \u003csrabbelier@gmail.com\u003e\nTested-by: Ramkumar Ramachandra \u003cartagnon@gmail.com\u003e\nSigned-off-by: Ramkumar Ramachandra \u003cartagnon@gmail.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "966ba4f21337e72f7be0a5b852e76a8b12192f7f",
      "old_mode": 33188,
      "old_path": "Documentation/git-fast-import.txt",
      "new_id": "90a46665c93106ffb7976bb0bb49aea9b9debbf7",
      "new_mode": 33188,
      "new_path": "Documentation/git-fast-import.txt"
    },
    {
      "type": "modify",
      "old_id": "2317b0fe7509b957577234890135509143c0872b",
      "old_mode": 33188,
      "old_path": "fast-import.c",
      "new_id": "8f68a892342f9fdfb968c4fbc7e17d92cca11765",
      "new_mode": 33188,
      "new_path": "fast-import.c"
    },
    {
      "type": "modify",
      "old_id": "7c059204e90722db20bae1d10a0988853f852262",
      "old_mode": 33261,
      "old_path": "t/t9300-fast-import.sh",
      "new_id": "3c0cf0509d2cfe3afc0316ed50ea85cb0d2d14de",
      "new_mode": 33261,
      "new_path": "t/t9300-fast-import.sh"
    }
  ]
}
