)]}'
{
  "commit": "01f24e32fbb621d3a741912ddb6a5ebcd643856d",
  "tree": "865d64f553bf67dc457b599a4095ce4cb59c51e9",
  "parents": [
    "6197a5ff6ecc70471a5d6833ea86e0836c660349"
  ],
  "author": {
    "name": "wade-arista",
    "email": "wade@arista.com",
    "time": "Tue Aug 25 02:06:07 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Aug 25 02:07:35 2026 -0700"
  },
  "message": "Fix --workspace_status_command empty value handling (https://github.com/bazelbuild/bazel/pull/28921)\n\n### Description\nparseWorkspaceStatus() was silently discarding lines without a space due to input.trim() mangling trailing-space-at-EOF combined with the key-only check skipping them. parseValues() had the same key-only discard behavior.\n\nBoth now store an empty string for keys with no value, and skip genuinely empty lines. Unit tests added for both parsers covering key-only, trailing-space, and EOF edge cases.\n\n### Motivation\nSpecific cases of interest:\n\n1. Key only with no trailing space:\n\n    echo \"KEY_ONLY\"\n    echo \"KEY_WITH_VALUE value\"\n\n2. Key only entry at EOF (trailing space optional):\n\n    echo \"KEY_WITH_VALUE value\"\n    echo \"KEY_ONLY \"\n\nFixes #16037\n\n### Build API Changes\nNo\n\n### Checklist\n\n- [X] I have added tests for the new use cases (if any).\n- [x] I have updated the documentation (if applicable).\n\n### Release Notes\n\nRELNOTES: None\n\nCloses #28921.\n\nPiperOrigin-RevId: 970401476\nChange-Id: I8509a4e13cb5e1546698cab584d74cbb647ddfb1\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "80c00c3c8ceef094a990b332908df3df4ad1ba79",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/WorkspaceStatusAction.java",
      "new_id": "a0c5bca70fafccede612c119bb2c288f7a2e6b58",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/WorkspaceStatusAction.java"
    },
    {
      "type": "modify",
      "old_id": "af0001407183e883473c228dbd1fe217614aab86",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/BUILD",
      "new_id": "c0b02978f7f6a142a75d69257e897460d321b54b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/BUILD"
    },
    {
      "type": "modify",
      "old_id": "0506100ac5d7f3e12fd12c5af725baa55a9c2aab",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/BazelWorkspaceStatusModule.java",
      "new_id": "44be5f8bff552262214fb5ece964d39d05d73400",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/BazelWorkspaceStatusModule.java"
    },
    {
      "type": "modify",
      "old_id": "a110f235065e7fe90ff527a7ef04fc1f4bb7b3b8",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/BUILD",
      "new_id": "e25d554e6a714166ddfa36408057cc8127ab0317",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "98f0f5df17a3e1b5fc1af04cb8cb6feea01bd78b",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/WorkspaceStatusActionTest.java"
    },
    {
      "type": "modify",
      "old_id": "b670d307c0d0b60d3daf4e8b671b6d4fe0231f87",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/bazel/BUILD",
      "new_id": "8e7dea647d3ef2b27a3c0cdaf16af4a370e4f95c",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/bazel/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e0bfb925c5402016ed9b6b660bf7777cc7519daa",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/bazel/BazelWorkspaceStatusModuleTest.java"
    }
  ]
}
