)]}'
{
  "commit": "412b9a16a007df93adcc88c0963a31399013ea37",
  "tree": "41120ac4377ba2f0798f6bea05efce9af23062e2",
  "parents": [
    "fe17fc0006927246c5905ef9352e7e89a3c5814b"
  ],
  "author": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Sat Jun 18 12:49:11 2016 +0200"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Wed Jun 22 14:47:36 2016 -0700"
  },
  "message": "t2300: \"git --exec-path\" is not usable in $PATH on Windows as-is\n\nThe \"git\" command prepends the exec-path to the PATH environment\nvariable for processes it spawns.  That is how \". git-sh-setup\" in\nour scripted Porcelains can find the dot-sourced file in the\nexec-path location that is not usually on user\u0027s PATH.\n\nWhen t2300 runs, because it is not spawned by the \"git\" command, the\nscriptlet being tested did not run with a realistic setting of PATH\nenvironment.  It lacked the exec-path on the PATH, and failed to\nfind the dot-sourced file.  A recent update to t2300 attempted to\nfix this, with \"PATH\u003d$(git --exec-path):$PATH\", which has been the\nrecommended way around v1.6.0 days (a script whose original was\nwritten before that release that survives to this day is likely to\nhave such a line).\n\nHowever, the \"git --exec-path\" command outputs C:\\path\\to\\exec\\dir\n(not /c/path/to/exec/dir) on Windows; the recent update failed to\nconsider the problem that comes from it.\n\nEven though Git itself, when doing the equivalent internally, does\nso in a platform native way (i.e. on Windows, C:\\path\\to\\exec\\dir is\nprepended to the existing value of %PATH% using \u0027;\u0027 as a component\nseparator), the result is further massaged by bash and gets turned\ninto $PATH that uses /c/path/to/exec/dir with \u0027:\u0027 separating the\ncomponents, which is the form understood by bash, so scripted\nPorcelains find commands from PATH correctly.\n\nAn end user script written in shell, however, cannot prepend\n\"C:\\path\\to\\exec\\dir:\" to the existing value of $PATH and expect\nbash to magically turn it into the form it understands.  In other\nwords, \"PATH\u003d$(git --exec-path):$PATH\" does not work as an emulation\nof what \"Git\" internally does to the PATH on Windows.\n\nTo correctly emulate how exec-path is prepended to the PATH\nenvironment internally on Windows, we\u0027d need to convert\nC:\\git-sdk-64\\usr\\src\\git to at least /c\\git-sdk-64\\usr\\src\\git\nourselves before prepending it to PATH.\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": "cccd7d923aae118b3f80aa52763648a2b4b189f2",
      "old_mode": 33261,
      "old_path": "t/t2300-cd-to-toplevel.sh",
      "new_id": "c8de6d8a1902209ef98ec0832296ed9060310429",
      "new_mode": 33261,
      "new_path": "t/t2300-cd-to-toplevel.sh"
    }
  ]
}
