)]}'
{
  "commit": "dfd557c9783433bd6273987982f0665d99e52df2",
  "tree": "3f667e1537920860737c4480be9282c10d7327d2",
  "parents": [
    "5fa0f5238b0cd46cfe7f6fa76c3f526ea98148d9"
  ],
  "author": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Fri Oct 04 05:30:59 2019 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Sun Oct 06 09:04:56 2019 +0900"
  },
  "message": "stash apply: report status correctly even in a worktree\u0027s subdirectory\n\nWhen Git wants to spawn a child Git process inside a worktree\u0027s\nsubdirectory while `GIT_DIR` is set, we need to take care of specifying\nthe work tree\u0027s top-level directory explicitly because it cannot be\ndiscovered: the current directory is _not_ the top-level directory of\nthe work tree, and neither is it inside the parent directory of\n`GIT_DIR`.\n\nThis fixes the problem where `git stash apply` would report pretty much\neverything deleted or untracked when run inside a worktree\u0027s\nsubdirectory.\n\nTo make sure that we do not introduce the \"reverse problem\", i.e. when\n`GIT_WORK_TREE` is defined but `GIT_DIR` is not, we simply make sure\nthat both are set.\n\nSigned-off-by: Johannes Schindelin \u003cjohannes.schindelin@gmx.de\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b5a301f24d7a5f8b0a5f7d51703ca4cf38e2109c",
      "old_mode": 33188,
      "old_path": "builtin/stash.c",
      "new_id": "b108f099fabf53ecb8f5ae2c6dd2a99a66e42a88",
      "new_mode": 33188,
      "new_path": "builtin/stash.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2b2b366ef94b7ca429416d81cc4858201658d3cb",
      "new_mode": 33261,
      "new_path": "t/t3908-stash-in-worktree.sh"
    }
  ]
}
