)]}'
{
  "commit": "2fd73117cd996410be45259cd95b12c7688226fb",
  "tree": "722e3c4acc1afa214743407e1c95f76431b64f81",
  "parents": [
    "d189805f90ef63c0961c7644edaa58f8b4ad7ffd"
  ],
  "author": {
    "name": "Martin Geisler",
    "email": "martin@geisler.net",
    "time": "Thu May 14 15:31:19 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu May 14 13:31:19 2026 +0000"
  },
  "message": "mdbook: fix support for external repositories (#4027)\n\nWhen any part of an `mdbook` target (either the `book.toml` or the\nsource files) comes from an external repository, the build was failing\nbecause the rule\u0027s staging logic and its invocation logic handled\nrepository boundaries inconsistently.\n\nThis change:\n- Updates `_map_inputs` in `mdbook.bzl` to map external repository paths\nto `\u0027external/\u0027` instead of `\u0027../\u0027`.\n- Hardens the process wrapper with a bounds check to ensure files are\nnot staged outside the shadow work directory.\n- Adds an integration test to verify the fix and prevent regressions.\n\nMade by Gemini, fixes #4026.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "be3051725790dd57b638527a0362b118faf90d92",
      "old_mode": 33188,
      "old_path": "extensions/mdbook/private/mdbook.bzl",
      "new_id": "d4c63d5219f72740316e4200548742e499765b76",
      "new_mode": 33188,
      "new_path": "extensions/mdbook/private/mdbook.bzl"
    },
    {
      "type": "modify",
      "old_id": "99a8663ca64b06b5165cdca7959e5aadc9ef4c17",
      "old_mode": 33188,
      "old_path": "extensions/mdbook/private/process_wrapper.rs",
      "new_id": "c354c57f103ddc253060a8dd188bc3e2d06ab101",
      "new_mode": 33188,
      "new_path": "extensions/mdbook/private/process_wrapper.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0772240aa988b3336f79ff51b995711396bf4629",
      "new_mode": 33188,
      "new_path": "extensions/mdbook/test/external_srcs/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0f1c9bd6d8f1dac1f1c837f72fdadc49e4b1e187",
      "new_mode": 33188,
      "new_path": "extensions/mdbook/test/external_srcs/content/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c2613930e54fb475f490fa996032880e27eb330a",
      "new_mode": 33188,
      "new_path": "extensions/mdbook/test/external_srcs/content/book.toml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "57727bbfe9613a663afcd13327a65f9440614bed",
      "new_mode": 33188,
      "new_path": "extensions/mdbook/test/external_srcs/content/src/SUMMARY.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8fa9231dd11a3446f8e252080ded357c14dbb68b",
      "new_mode": 33188,
      "new_path": "extensions/mdbook/test/external_srcs/content/src/test.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0dc3df4c675af0052e8577d8ca2136047baa55d9",
      "new_mode": 33188,
      "new_path": "extensions/mdbook/test/external_srcs/external_srcs_test.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "20015d57f6139d6e391890e564aa71be8e057bb1",
      "new_mode": 33188,
      "new_path": "extensions/mdbook/test/external_srcs/local_book_mixed/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7d70307f362e1c0e5a8b4475264cef111d642d8f",
      "new_mode": 33188,
      "new_path": "extensions/mdbook/test/external_srcs/local_book_mixed/book.toml"
    }
  ]
}
