)]}'
{
  "commit": "586463c3cf247dbead8553da7284a346b2faf1fb",
  "tree": "fcc1724a700374e35195189f78c6921144516df3",
  "parents": [
    "ab657e36b68f4a7e9ddb0f36c455c98d1c069a2c"
  ],
  "author": {
    "name": "Eric Blake",
    "email": "eblake@redhat.com",
    "time": "Mon Oct 27 11:38:43 2014 +0800"
  },
  "committer": {
    "name": "Herbert Xu",
    "email": "herbert@gondor.apana.org.au",
    "time": "Mon Oct 27 11:38:43 2014 +0800"
  },
  "message": "[CD] support drive letters on Cygwin\n\nThe Cygwin platform supports DOS style drive-letter paths such\nas \"C:\\\\dir\", even though the preferred form is a POSIX-style\n\"/cygdrive/c/dir\".  This can be seen by doing things such as\nchdir(\"c:\") (which succeeds) followed by getcwd(NULL, 0) (which\nreturns the normalized \"/cygdrive/c\").  However, dash was trying\nto perform local manipulations on the argument to \u0027cd\u0027 prior to\ncalling into libc, in order to update the state of $PWD and\nfriends; these manipulations were assuming that the user meant\nto change to a relative subdirectory of the current location,\nas in \u0027./c:\u0027, instead of honoring the drive letter.  None of\nthe other dash builtins take a filename and manipulate it to\naffect shell state (some, like \u0027test\u0027, take a file name, but as\nstat(\"c:\") works just fine, there is no need to normalize).\n\nThis patch has no impact outside of cygwin; on cygwin, it takes\nadvantage of a native function call to canonicalize any\nincoming name into preferred form before updating shell state.\n\nPre-patch:\n$ dash -c \u0027cd c: \u0026\u0026 echo $PWD\u0027\ndash: 1: cd: can\u0027t cd to c:\n\nPost-patch:\n$ dash -c \u0027cd c: \u0026\u0026 echo $PWD\u0027\n/cygdrive/c\n\nSigned-off-by: Eric Blake \u003ceblake@redhat.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5f033dfa8e5930392f806ab8cab28532670c5bd1",
      "old_mode": 33188,
      "old_path": "ChangeLog",
      "new_id": "2155764799613cc30fce131005b950cf3cca2402",
      "new_mode": 33188,
      "new_path": "ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "2d9d4b521c9d128b552ae53f6cf1714f247a0a99",
      "old_mode": 33188,
      "old_path": "src/cd.c",
      "new_id": "a4e024d84e36515b331dd4c7838b0edb096f02da",
      "new_mode": 33188,
      "new_path": "src/cd.c"
    }
  ]
}
