)]}'
{
  "commit": "0604c8a4ec0945f732140f4056d088f55d18bd77",
  "tree": "75d8e91bc13a8e0f5657683d2ee968f8b63164e7",
  "parents": [
    "2d7d37619770f3ca703b5aacf7e4df766865424b"
  ],
  "author": {
    "name": "Googler",
    "email": "jhorvitz@google.com",
    "time": "Mon Oct 28 18:26:32 2024 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Oct 28 18:28:25 2024 -0700"
  },
  "message": "Reduce filesystem stats in `SymlinkAction`.\n\n`SymlinkAction` checks whether the symlink target is an executable file. If the filesystem implementation supports returning permission bits in the stat (supported in the common case, i.e. `UnixFileSystem`), then a single stat suffices for both `isFile()` and `isExecutable()`.\n\nMoreover, for a source artifact, we can use the build\u0027s `SyscallCache` since it was already statted by `FileStateFunction`.\n\nPiperOrigin-RevId: 690819972\nChange-Id: Ibd1f8d7aa9c3bd185a965f5a2ec015513ef315be\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "76d8d05c7e65214c626739c8b6768265987ba3bc",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/BUILD",
      "new_id": "5537966f67ea92c4800830ab62ddc3ebf0fbf555",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/BUILD"
    },
    {
      "type": "modify",
      "old_id": "76f0df3532fbac2945438da4e7d2e8d4272a1f6a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkAction.java",
      "new_id": "f6ca7b9eeb359d2c97f6331c02565e16a37b960c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkAction.java"
    }
  ]
}
