)]}'
{
  "commit": "e6482b840a4f3b37d42e89792bf44a997774f18d",
  "tree": "47d172dc76108d530fece16f1102017b917bec25",
  "parents": [
    "a0d1a037ecf17ba498dc693d5b9e289e04876a4e"
  ],
  "author": {
    "name": "Daksh Mamodiya",
    "email": "mamodiyadaksh41@gmail.com",
    "time": "Thu Aug 06 17:34:03 2026 +0200"
  },
  "committer": {
    "name": "Daksh Mamodiya",
    "email": "mamodiyadaksh41@gmail.com",
    "time": "Thu Aug 06 17:44:54 2026 +0200"
  },
  "message": "fileapi: Fix dangling reply reference on case-insensitive filesystems\n\nReply file names embed the configuration name verbatim.  Reconfiguring\na build tree with a build type that differs from the previous one only\nin case (e.g. Debug -\u003e debug) makes CMake write a reply whose name also\ndiffers only in case from the existing file.  On a case-insensitive\nfilesystem the write is skipped because the name already exists, but\nRemoveOldReplyFiles compared on-disk names to the just-written names\ntextually and deleted the surviving file, leaving the reply index\nciting a target or directory reply that no longer exists on disk.\n\nPrune reply files by file identity via cmSystemTools::GetFileId instead\nof by name, so an on-disk entry that aliases a reply we just wrote is\nkept.  An entry whose identity cannot be obtained is retained rather\nthan deleted.\n\nFixes: #28022\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6fb9b4b7ac38009010eb951d98dff2412406ba4c",
      "old_mode": 33188,
      "old_path": "Source/cmFileAPI.cxx",
      "new_id": "df9131e696bee961f6d70ef3ae7792773bc7d735",
      "new_mode": 33188,
      "new_path": "Source/cmFileAPI.cxx"
    },
    {
      "type": "modify",
      "old_id": "9aad2ca226c649be9110a7c367594c5aab85e60d",
      "old_mode": 33188,
      "old_path": "Source/cmFileAPI.h",
      "new_id": "b83e070c23f154bf450a0661865ce2197e550509",
      "new_mode": 33188,
      "new_path": "Source/cmFileAPI.h"
    },
    {
      "type": "modify",
      "old_id": "78fe8d7d454047bb449cb8d2721505aa5479ed3a",
      "old_mode": 33188,
      "old_path": "Tests/CMakeLib/CMakeLists.txt",
      "new_id": "083449a76e5c616c730af7c230c15ad52eea761e",
      "new_mode": 33188,
      "new_path": "Tests/CMakeLib/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "de795d5cdae208c8f5825e263c2f37ea1e2eab36",
      "new_mode": 33188,
      "new_path": "Tests/CMakeLib/testCMFileAPI.cxx"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7be4b3946e6ff8cdfc008d8696decc53f72f72d2",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/FileAPI/ConfigCaseReconfigure-prep.cmake"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c3c7dbacc7bcb93fa2aed97d70a03f413a4d89bc",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/FileAPI/ConfigCaseReconfigure-recon-check.cmake"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8f21663888a8b20158f075b5dc154bb3edd9c204",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/FileAPI/ConfigCaseReconfigure.cmake"
    },
    {
      "type": "modify",
      "old_id": "e9fbf25746f11c04dde917cc3bc4c1be83a9e05c",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/FileAPI/RunCMakeTest.cmake",
      "new_id": "c640b694a6d1a22237b4848d7dd45145b24b6d86",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/FileAPI/RunCMakeTest.cmake"
    }
  ]
}
