)]}'
{
  "commit": "6cfbdcb2ab70b238fca9b3811f5b58368fd077c6",
  "tree": "103b13703ff6f02ea1dcbfd8d38b4f4672c99932",
  "parents": [
    "77a6d84045c8b558d1e08ff2ffe70347b19be6ef"
  ],
  "author": {
    "name": "Nguyễn Thái Ngọc Duy",
    "email": "pclouds@gmail.com",
    "time": "Sun Nov 30 15:24:55 2014 +0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Mon Dec 01 11:00:18 2014 -0800"
  },
  "message": "git_path(): keep \"info/sparse-checkout\" per work-tree\n\nCurrently git_path(\"info/sparse-checkout\") resolves to\n$GIT_COMMON_DIR/info/sparse-checkout in multiple worktree mode. It\nmakes more sense for the sparse checkout patterns to be per worktree,\nso you can have multiple checkouts with different parts of the tree.\n\nWith this, \"git checkout --to \u003cnew\u003e\" on a sparse checkout will create\n\u003cnew\u003e as a full checkout. Which is expected, it\u0027s how a new checkout\nis made. The user can reshape the worktree afterwards.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy \u003cpclouds@gmail.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cd8e2d6e686e41f0a53479bf34d810a1a338650e",
      "old_mode": 33188,
      "old_path": "path.c",
      "new_id": "35d498e9bc33e1827178970c5136de3edc7e226a",
      "new_mode": 33188,
      "new_path": "path.c"
    },
    {
      "type": "modify",
      "old_id": "f5d6f80d66dd440335507348448eb2f235d67e44",
      "old_mode": 33261,
      "old_path": "t/t0060-path-utils.sh",
      "new_id": "93605f42f27cef9ef3ffe381c84aea9f6f4be426",
      "new_mode": 33261,
      "new_path": "t/t0060-path-utils.sh"
    }
  ]
}
