)]}'
{
  "commit": "4a39d08908942b2d415db405844cbe4af73e75d4",
  "tree": "9710c8464b660bc748de126a4b1e0b6ac99d5705",
  "parents": [
    "4118082f651a05cca258c684ab1199578b57afac"
  ],
  "author": {
    "name": "Mark Johnston",
    "email": "markjdb@gmail.com",
    "time": "Mon Jan 29 03:19:57 2024 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jan 29 09:19:57 2024 +0100"
  },
  "message": "[libc++] Fix filesystem::remove_all() on FreeBSD (#79540)\n\nremove_all_impl() opens the target path with O_NOFOLLOW, which fails if\r\nthe target is a symbolic link. On FreeBSD, rather than returning ELOOP,\r\nopenat() returns EMLINK. This is unlikely to change for compatibility\r\nreasons, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id\u003d214633 .\r\n\r\nThus, check for EMLINK as well.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6253d1551b062eabda8e1c41d6aa11dd741230e7",
      "old_mode": 33188,
      "old_path": "libcxx/src/filesystem/operations.cpp",
      "new_id": "62bb248d5eca9b505efb8ce9ce429960d054f43d",
      "new_mode": 33188,
      "new_path": "libcxx/src/filesystem/operations.cpp"
    },
    {
      "type": "modify",
      "old_id": "eaa8044397ed8503ba4683cfe4b29aa33433bc71",
      "old_mode": 33188,
      "old_path": "libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp",
      "new_id": "5cdbd0878431652bf4e5af5895c1ad31a6de1d11",
      "new_mode": 33188,
      "new_path": "libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp"
    }
  ]
}
