)]}'
{
  "commit": "225e14e5b6d64e1f63da39fa7fe31d2ebb08260d",
  "tree": "11a4946a72639e1d09033423a10eb3c473626c0e",
  "parents": [
    "e4169f79ef0f54676c0072e1704c3d02f32925b3"
  ],
  "author": {
    "name": "Dmitry Vasilyev",
    "email": "dvassiliev@accesssoftek.com",
    "time": "Fri Apr 05 22:40:07 2024 +0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Apr 05 22:40:07 2024 +0400"
  },
  "message": "[Support][Windows] Use the original path if GetFinalPathNameByHandleW() failed (#87749)\n\nThe commit f11b056c (#76304) breaks `clang` and other tools if they are\r\nused from a RAMDrive. `GetFinalPathNameByHandleW()` may return 0 and\r\nGetLastError 0x28. This patch fixes that issue. Note `real_path()` uses\r\n`openFileForRead()` but it reports the error only if failed to open a\r\nfile. Getting `RealPath` is optional functionality.\r\n\r\nBTW, `sys::fs::real_path()` resolves not only symlinks, but also network\r\ndrives and virtual drives created by the `subst` tool. It may break an\r\nautomation. It is better to detect symlinks and resolve only symlinks.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "854d531ab371fc7027b87a8e870e2c3276df10d1",
      "old_mode": 33188,
      "old_path": "llvm/lib/Support/Windows/Path.inc",
      "new_id": "4f0336a85daaa538c5f3dc6bb8f6ad6d9a80b7c5",
      "new_mode": 33188,
      "new_path": "llvm/lib/Support/Windows/Path.inc"
    }
  ]
}
