)]}'
{
  "commit": "817ddd64c20b29b2d86b3a0589f7ff88d1279109",
  "tree": "8aad21a3b28345494fbdfe71aed52d38ad5e29ae",
  "parents": [
    "d2c84dad1c88f40906799bc879f70b965efd8ba6"
  ],
  "author": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Thu Sep 05 13:44:21 2019 +0200"
  },
  "committer": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Thu Dec 05 15:37:06 2019 +0100"
  },
  "message": "mingw: refuse to access paths with illegal characters\n\nCertain characters are not admissible in file names on Windows, even if\nCygwin/MSYS2 (and therefore, Git for Windows\u0027 Bash) pretend that they\nare, e.g. `:`, `\u003c`, `\u003e`, etc\n\nLet\u0027s disallow those characters explicitly in Windows builds of Git.\n\nNote: just like trailing spaces or periods, it _is_ possible on Windows\nto create commits adding files with such illegal characters, as long as\nthe operation leaves the worktree untouched. To allow for that, we\ncontinue to guard `is_valid_win32_path()` behind the config setting\n`core.protectNTFS`, so that users _can_ continue to do that, as long as\nthey turn the protections off via that config setting.\n\nAmong other problems, this prevents Git from trying to write to an \"NTFS\nAlternate Data Stream\" (which refers to metadata stored alongside a\nfile, under a special name: \"\u003cfilename\u003e:\u003cstream-name\u003e\"). This fix\ntherefore also prevents an attack vector that was exploited in\ndemonstrations of a number of recently-fixed security bugs.\n\nFurther reading on illegal characters in Win32 filenames:\nhttps://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file\n\nSigned-off-by: Johannes Schindelin \u003cjohannes.schindelin@gmx.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "17b4da16e85cef21a26a3674165e67b78ea95ebe",
      "old_mode": 33188,
      "old_path": "compat/mingw.c",
      "new_id": "3aea26982d6a04bcdd642fe328fd2cde28ba1c0b",
      "new_mode": 33188,
      "new_path": "compat/mingw.c"
    },
    {
      "type": "modify",
      "old_id": "8c49c1d09b697d009e4dc964bc34cfc5377334d7",
      "old_mode": 33188,
      "old_path": "compat/mingw.h",
      "new_id": "7482f196afdd2741658c2bd28a2e7eb0d740d3dd",
      "new_mode": 33188,
      "new_path": "compat/mingw.h"
    },
    {
      "type": "modify",
      "old_id": "1171e0bb8850b97bd3ad0b6e70ce178467e28f65",
      "old_mode": 33261,
      "old_path": "t/t0060-path-utils.sh",
      "new_id": "f7e2529bffc143d15af01d6700fa4953e7d2d3b2",
      "new_mode": 33261,
      "new_path": "t/t0060-path-utils.sh"
    }
  ]
}
