)]}'
{
  "commit": "549b1d3549b05b589d697a53ce2e663f9d87f8e3",
  "tree": "d44418d8d60abfaac5bcfa23bfe7e68c62375efd",
  "parents": [
    "3cebdfd8929e83d79b1048295775786f2661153a"
  ],
  "author": {
    "name": "Jan Schär",
    "email": "jan@monogon.tech",
    "time": "Mon May 12 09:51:04 2025 +0000"
  },
  "committer": {
    "name": "Jan Schär",
    "email": "jan@monogon.tech",
    "time": "Mon May 12 15:20:19 2025 +0000"
  },
  "message": "osbase/build: fix unused config transition\n\nThe race and pure configs are only changed by command line flags, not by\ntransitions. This means that they should not be included in the\nignore_unused_configuration to avoid unnecessary rebuilds.\n\nI previously added the race config here, but that was because of a\nmisunderstanding: The ST-hash in the output path is not a hash of the\nconfiguration, but of the diff of the configuration against the\nbaseline. The baseline includes all the flags set on the command line.\nThis is controlled by --experimental_output_directory_naming_scheme\nwhich defaults to diff_against_dynamic_baseline.\n\nWhat this means is that changing a flag on the command line does not\nchange the hash of the diff, so it does not rebuild actions which don\u0027t\nuse the flag. But if you then try to reset the config in a transition,\nthe configs are the same but the diff hashes are not, resulting in\nunnecessary rebuilds.\n\nChange-Id: Ibfe8581e0a5c64ccd0d75a0f7c85c7d7b6d46abd\nReviewed-on: https://review.monogon.dev/c/monogon/+/4191\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c8ca9dd61eea68dc828a4831b14132fabb15304d",
      "old_mode": 33188,
      "old_path": "osbase/build/def.bzl",
      "new_id": "685c616975818c8745de1381e54f31ef0b3926c8",
      "new_mode": 33188,
      "new_path": "osbase/build/def.bzl"
    }
  ]
}
