)]}'
{
  "commit": "0c6eeae23503d263e8148ebb57e9e32c5d6a163d",
  "tree": "9a12e140ebef8e3f526e8635be3c0e86fae230df",
  "parents": [
    "d71268cdd1f991b215cd8ec218d49000e4c2bf16"
  ],
  "author": {
    "name": "Fabian Meumertzheim",
    "email": "fabian@meumertzhe.im",
    "time": "Mon Aug 17 18:44:21 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Aug 17 18:44:21 2026 +0000"
  },
  "message": "[8.8.0] Compare paths as fragments in `AbstractActionInputPrefetcher` (#30690)\n\nThis is required because `execRoot` might be located on an action file\nsystem overlaying the host file system where downloads are written (see\nthe changes in\nhttps://github.com/bazelbuild/bazel/commit/b8589c3b278e3f5cee6ef85b0dcabb1cdcd69839\nfor context).\n\nWithout this fix, a directory that is temporarily made writable during\nthe materialization of a tree artifact isn\u0027t recognized as living under\nthe exec root, so it is silently left with its output permissions and\nfiles can\u0027t be moved into place. This has been observed as a tree\nartifact whose top-level directory was writable while a subdirectory was\nleft read-only, surfacing as a spurious missing CAS blob error since all\nmaterialization errors are converted into that.\n\nPiperOrigin-RevId: 830480221\nChange-Id: I217b81a81da80f2050c4ec9082ef5f18cb9a0bc9\n(cherry picked from commit 1e9d843fa6362b88d5ca1b6cc04b38f69823fb76)\n\n8.8.0 adaptation: on this branch `setWritable` additionally\nshort-circuits on external repository paths under the output base and\nobtains the exec root lazily via `execRoot()`, so the fragment\ncomparison is applied to the existing `execRoot()` check rather than\nreplacing the condition wholesale.\n\nThis supersedes #30680, which applies the original patch verbatim and\nthereby drops the external repository check as well as referencing\n`execRoot` as a field, which doesn\u0027t exist on this branch.\n\nCo-authored-by: Tiago Quelhas \u003ctjgq@google.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1b67f191fd2ec78369407c59846cccc7b0dca2f1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/AbstractActionInputPrefetcher.java",
      "new_id": "4b018ee621f07b40d8b1e5a8e3b55e859765bd28",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/AbstractActionInputPrefetcher.java"
    }
  ]
}
