)]}'
{
  "commit": "8679e4c53889f8ccfa33dcb89ebc59c0e55c10ae",
  "tree": "551c434cea3e5ac9cefb4ab4666f48fe0751c9d0",
  "parents": [
    "c9139896d49a12d69ca34fd47b3fa9d35c5a69a8"
  ],
  "author": {
    "name": "Laszlo Csomor",
    "email": "laszlocsomor@google.com",
    "time": "Tue Jan 03 15:21:08 2017 +0000"
  },
  "committer": {
    "name": "John Cater",
    "email": "jcater@google.com",
    "time": "Tue Jan 03 16:43:40 2017 +0000"
  },
  "message": "Windows: resolve shortened paths\n\nTL;DR: resolve \"C:/progra~1\" style paths, don\u0027t\ncache failed resolutions in the parent\u0027s\nPath.children\n\n\nWhen creating WindowsPath objects, resolve the\n\"C:/progra~1\" style paths to \"C:/program files\".\n\nThis enables us to correctly compare paths on\nWindows. Without this canonicalization we\nincorrectly determine \"C:/progra~1\" and\n\"C:/program files\" to be different when they are\nactually the same.\n\nWe only attempt to resolve such paths if the name\nlooks like it\u0027s an abbreviated path.\n\nIf resolution fails, probably due to the path not\nexisting, then we don\u0027t cache this Path object in\nthe parent\u0027s `children` list. This avoids stale\ncache entries in case the path springs into\nexistence later in the server\u0027s lifetime.\n\nFixes https://github.com/bazelbuild/bazel/issues/2145\n\nWe also need to rectify https://github.com/bazelbuild/bazel/issues/2173\n\n--\nPiperOrigin-RevId: 143442134\nMOS_MIGRATED_REVID\u003d143442134\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cdc0a0a9966790d476ba875e78f5d80f5e3a9a47",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/vfs/Path.java",
      "new_id": "ee81ad9adc8a491b8612366e709dd1b21248b77e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/vfs/Path.java"
    },
    {
      "type": "modify",
      "old_id": "1694f8c824ec1aeaddcc6e3c6b1b89d22390339b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/vfs/WindowsFileSystem.java",
      "new_id": "308e0dfc66cac5df0de4c6e407946d77119aa3be",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/vfs/WindowsFileSystem.java"
    },
    {
      "type": "modify",
      "old_id": "377b06026acaa1a0b7696fe25060a5a0e449c335",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/windows/WindowsFileOperations.java",
      "new_id": "516c29ec0ec3d52a2710ab6bde605e003da0949b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/windows/WindowsFileOperations.java"
    },
    {
      "type": "modify",
      "old_id": "4fd8f90d5a42e7a860876a71383c7034678f925d",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/vfs/PathWindowsTest.java",
      "new_id": "9ef6bc7647768e83976db57c8856bca78c5c87f2",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/vfs/PathWindowsTest.java"
    },
    {
      "type": "modify",
      "old_id": "6507be553e65390af6ef10adc3fc06f3dec881d0",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/vfs/WindowsFileSystemTest.java",
      "new_id": "6f035c770b85c691b92df9058ed480f3fe322984",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/vfs/WindowsFileSystemTest.java"
    }
  ]
}
