)]}'
{
  "commit": "f82a97eb9197c1e3768e72648f37ce0ca3233734",
  "tree": "1625e0241be5d0ffefe15b39133c8bc5068a021d",
  "parents": [
    "817ddd64c20b29b2d86b3a0589f7ff88d1279109"
  ],
  "author": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Fri Sep 06 00:09:10 2019 +0200"
  },
  "committer": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Thu Dec 05 15:37:07 2019 +0100"
  },
  "message": "mingw: handle `subst`-ed \"DOS drives\"\n\nOver a decade ago, in 25fe217b86c (Windows: Treat Windows style path\nnames., 2008-03-05), Git was taught to handle absolute Windows paths,\ni.e. paths that start with a drive letter and a colon.\n\nUnbeknownst to us, while drive letters of physical drives are limited to\nletters of the English alphabet, there is a way to assign virtual drive\nletters to arbitrary directories, via the `subst` command, which is\n_not_ limited to English letters.\n\nIt is therefore possible to have absolute Windows paths of the form\n`1:\\what\\the\\hex.txt`. Even \"better\": pretty much arbitrary Unicode\nletters can also be used, e.g. `ä:\\tschibät.sch`.\n\nWhile it can be sensibly argued that users who set up such funny drive\nletters really seek adverse consequences, the Windows Operating System\nis known to be a platform where many users are at the mercy of\nadministrators who have their very own idea of what constitutes a\nreasonable setup.\n\nTherefore, let\u0027s just make sure that such funny paths are still\nconsidered absolute paths by Git, on Windows.\n\nIn addition to Unicode characters, pretty much any character is a valid\ndrive letter, as far as `subst` is concerned, even `:` and `\"` or even a\nspace character. While it is probably the opposite of smart to use them,\nlet\u0027s safeguard `is_dos_drive_prefix()` against all of them.\n\nNote: `[::1]:repo` is a valid URL, but not a valid path on Windows.\nAs `[` is now considered a valid drive letter, we need to be very\ncareful to avoid misinterpreting such a string as valid local path in\n`url_is_local_not_ssh()`. To do that, we use the just-introduced\nfunction `is_valid_path()` (which will label the string as invalid file\nname because of the colon characters).\n\nThis fixes CVE-2019-1351.\n\nReported-by: Nicolas Joly \u003cNicolas.Joly@microsoft.com\u003e\nSigned-off-by: Johannes Schindelin \u003cjohannes.schindelin@gmx.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3aea26982d6a04bcdd642fe328fd2cde28ba1c0b",
      "old_mode": 33188,
      "old_path": "compat/mingw.c",
      "new_id": "27d6f4ac30bc2fc563e69e7bae8fcb153e0461a6",
      "new_mode": 33188,
      "new_path": "compat/mingw.c"
    },
    {
      "type": "modify",
      "old_id": "7482f196afdd2741658c2bd28a2e7eb0d740d3dd",
      "old_mode": 33188,
      "old_path": "compat/mingw.h",
      "new_id": "17064665d9400ce607abbc3c817b9fc57e4dbdca",
      "new_mode": 33188,
      "new_path": "compat/mingw.h"
    },
    {
      "type": "modify",
      "old_id": "49b28b83be2717027ac33570b1041604db5a062d",
      "old_mode": 33188,
      "old_path": "connect.c",
      "new_id": "a053cc256d42b6a15375de7d0ce74f18833c1821",
      "new_mode": 33188,
      "new_path": "connect.c"
    },
    {
      "type": "modify",
      "old_id": "f7e2529bffc143d15af01d6700fa4953e7d2d3b2",
      "old_mode": 33261,
      "old_path": "t/t0060-path-utils.sh",
      "new_id": "40db3e1e1adad57721087ee69af35224aa6eaad4",
      "new_mode": 33261,
      "new_path": "t/t0060-path-utils.sh"
    }
  ]
}
