)]}'
{
  "commit": "ea34e1825c6e45ceb2bada51c1a9de0bbf872720",
  "tree": "54d2068fac0f0005a8e92736f6eaa13ec5679065",
  "parents": [
    "fc27990feb62d9e64f6ce41955dc3245dc26ef2d"
  ],
  "author": {
    "name": "Googler",
    "email": "tjgq@google.com",
    "time": "Mon Oct 28 03:26:31 2024 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Oct 28 03:28:02 2024 -0700"
  },
  "message": "Use non-snapshotted paths when creating a runfiles symlink tree.\n\nIt has been a long-standing feature of runfiles symlink trees that they reflect changes made to files referenced in them after the tree has been built. In certain scenarios (currently only at Google), the FileSystem implementation may rewrite symlink target paths to point to read-only snapshots, which breaks this feature when using in-process symlink creation. With this change, the rewriting is bypassed in this case.\n\nAlso improve the documentation for the BlazeModule getFileSystem() and getFileSystemForBuildArtifacts() methods.\n\nPiperOrigin-RevId: 690541050\nChange-Id: I140cc68ca1b9236e9fb4049830cc3b5629eaf770\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "738358e3d3920e67f47dad1e6c4a049c1034131b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/exec/RunfilesTreeUpdater.java",
      "new_id": "9bd947a12b16b890905419c7bf9e03e0015de3c7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/exec/RunfilesTreeUpdater.java"
    },
    {
      "type": "modify",
      "old_id": "032a4d8a8fca8781515474d4e657989ddc16f473",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/exec/SymlinkTreeHelper.java",
      "new_id": "487bd6b8a1942d32c96fc582d105810a3981e46c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/exec/SymlinkTreeHelper.java"
    },
    {
      "type": "modify",
      "old_id": "39b45494e0e3fc3fb22b41788099da9aab6d203b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/exec/SymlinkTreeStrategy.java",
      "new_id": "3c9a174ff44807af1700498a33be738cfbcf7666",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/exec/SymlinkTreeStrategy.java"
    },
    {
      "type": "modify",
      "old_id": "b38fbdb0366df906c684bf4bf0f903f8160187fc",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java",
      "new_id": "1a79dd442b38debe0b73999c0f128012e1a5b7e2",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "57590169ec807009958462bb7258461fdd451b7f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/vfs/SnapshottingFileSystem.java"
    },
    {
      "type": "modify",
      "old_id": "925125988922c2948eb4c73653f216a9017b771e",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/exec/SymlinkTreeHelperTest.java",
      "new_id": "3e28af0b2f5bc223682e5916b225907247dbcac5",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/exec/SymlinkTreeHelperTest.java"
    },
    {
      "type": "modify",
      "old_id": "63ea2e6229238721f712365acf534cdd6d724e48",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/exec/SymlinkTreeStrategyTest.java",
      "new_id": "210f0ac3452d9cd17061246d7931dad1db7860cd",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/exec/SymlinkTreeStrategyTest.java"
    }
  ]
}
