)]}'
{
  "commit": "ec0603e13c4e33c3a1501fe16f576db9aff1701a",
  "tree": "2ca7b64232eb410bd24d679a422263154392bb43",
  "parents": [
    "1b2782a5e2f88bf5e6e2cbb58e54fea015e21af5"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Jul 12 01:04:16 2007 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Jul 12 02:22:53 2007 -0700"
  },
  "message": "Teach read-tree 2-way merge to ignore intermediate symlinks\n\nEarlier in 16a4c61, we taught \"read-tree -m -u\" not to be\nconfused when switching from a branch that has a path frotz/filfre\nto another branch that has a symlink frotz that points at xyzzy/\ndirectory.  The fix was incomplete in that it was still confused\nwhen coming back (i.e. switching from a branch with frotz -\u003e xyzzy/\nto another branch with frotz/filfre).\n\nThis fix is rather expensive in that for a path that is created\nwe would need to see if any of the leading component of that\npath exists as a symbolic link in the filesystem (in which case,\nwe know that path itself does not exist, and the fact we already\ndecided to check it out tells us that in the index we already\nknow that symbolic link is going away as there is no D/F\nconflict).\n\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0526fce163fc13273daf035a0920a6b53a3acefb",
      "new_mode": 33261,
      "new_path": "t/t2007-checkout-symlink.sh"
    },
    {
      "type": "modify",
      "old_id": "cac2411b9de7b4889abe6b0b84df25d24a38c7e5",
      "old_mode": 33188,
      "old_path": "unpack-trees.c",
      "new_id": "89dd279f89c7648ec333c59634b3169251eec7ab",
      "new_mode": 33188,
      "new_path": "unpack-trees.c"
    }
  ]
}
