)]}'
{
  "commit": "14b559b569b6d21ddc723a2116a65adae3b97b5b",
  "tree": "53cbdd3fef15f020a0019fdd82d26e58557229af",
  "parents": [
    "e6f79dc0cf8b8720336f4a5141369612c8478e08"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "rlevasseur@google.com",
    "time": "Thu Mar 20 18:59:32 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Mar 21 01:59:32 2025 +0000"
  },
  "message": "chore: replace bazelbuild with bazel-contrib (#2688)\n\nThis was done using `grep | xargs sed`.\n\nBCR presubmits require that the list of repositories match where\ndownloads come from\n\nAlong the way, also update the URL homepages to bazel-contrib and change\nthe email\nto my personal instead of work email.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "687f78e97747e2b176e70a4155e70054d624b2fe",
      "old_mode": 33188,
      "old_path": ".bcr/gazelle/metadata.template.json",
      "new_id": "017f9d3774a16fd92c9e456efecfac23b6aeead3",
      "new_mode": 33188,
      "new_path": ".bcr/gazelle/metadata.template.json"
    },
    {
      "type": "modify",
      "old_id": "579d6884cdae25c022b7e0ab93cd05fcc6eeb660",
      "old_mode": 33188,
      "old_path": ".bcr/metadata.template.json",
      "new_id": "9d85e222004be061a9b13167822574d5dc86cd0b",
      "new_mode": 33188,
      "new_path": ".bcr/metadata.template.json"
    },
    {
      "type": "modify",
      "old_id": "26091a8989952c402ef181259b93d0062d155844",
      "old_mode": 33261,
      "old_path": ".github/workflows/create_archive_and_notes.sh",
      "new_id": "a21585f86648b0d5a36571b2a86b9d4cbb1fb0a1",
      "new_mode": 33261,
      "new_path": ".github/workflows/create_archive_and_notes.sh"
    },
    {
      "type": "modify",
      "old_id": "29b70ccc8fb73df3cac130abb0ab005045b345cf",
      "old_mode": 33188,
      "old_path": ".github/workflows/release.yml",
      "new_id": "436797e3ed1706f0c2d567a71944d253b0e24a08",
      "new_mode": 33188,
      "new_path": ".github/workflows/release.yml"
    },
    {
      "type": "modify",
      "old_id": "85e28acb1af6ae286f7ed5bb15f64a187744f42d",
      "old_mode": 33188,
      "old_path": "BZLMOD_SUPPORT.md",
      "new_id": "73fde463b7fe0ee72087462d13d1e0f748ae6a10",
      "new_mode": 33188,
      "new_path": "BZLMOD_SUPPORT.md"
    },
    {
      "type": "modify",
      "old_id": "4e5f102b5a91b87f68fce238ec3199bfb1e1db97",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "dc40a25961ae9c3620dc56b7bae5173b7648a749",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "cd274861d78a4cfac4c788918934655a3d0883ae",
      "old_mode": 33188,
      "old_path": "CONTRIBUTING.md",
      "new_id": "17558e1b233a752a8c7e7c2a341800998aa01ec6",
      "new_mode": 33188,
      "new_path": "CONTRIBUTING.md"
    },
    {
      "type": "modify",
      "old_id": "42a29219f980cbd32465d7c3ccb64a82a3bd9ca0",
      "old_mode": 33188,
      "old_path": "RELEASING.md",
      "new_id": "6e441cbce6547531b96de5141e277c7ea807b1f8",
      "new_mode": 33188,
      "new_path": "RELEASING.md"
    },
    {
      "type": "modify",
      "old_id": "b97411e2d53341b38f0973fd6add35af5f99efd2",
      "old_mode": 33188,
      "old_path": "WORKSPACE",
      "new_id": "3ad83ca04b249aa52c5590b0a5704fce298bbef3",
      "new_mode": 33188,
      "new_path": "WORKSPACE"
    },
    {
      "type": "modify",
      "old_id": "cb44de97c72a2cd34c61b55f48377c7a9faab9d8",
      "old_mode": 33188,
      "old_path": "docs/api/rules_python/python/config_settings/index.md",
      "new_id": "79c7d0c109858039d211fe9b0dab05f12eab8155",
      "new_mode": 33188,
      "new_path": "docs/api/rules_python/python/config_settings/index.md"
    },
    {
      "type": "modify",
      "old_id": "4c8e4a2a6bb55fa2966f417a7b92230638a5a111",
      "old_mode": 33188,
      "old_path": "docs/conf.py",
      "new_id": "f58baf518345ec87d591d297d1913fe9ea9fa47e",
      "new_mode": 33188,
      "new_path": "docs/conf.py"
    },
    {
      "type": "modify",
      "old_id": "dbd63e5a4f40f1f0124abf2168777ad0ecd28f5e",
      "old_mode": 33188,
      "old_path": "docs/extending.md",
      "new_id": "387310e6cff6e8aa40ac16070b71c15791ff5081",
      "new_mode": 33188,
      "new_path": "docs/extending.md"
    },
    {
      "type": "modify",
      "old_id": "b3b5409c7e389c0440d9f286dc0a90fc9bb9c26a",
      "old_mode": 33188,
      "old_path": "docs/getting-started.md",
      "new_id": "969716603c80f0526a3b073b8dd33f8f74dfcadc",
      "new_mode": 33188,
      "new_path": "docs/getting-started.md"
    },
    {
      "type": "modify",
      "old_id": "28e630c61d074319a548d6d221c2aa79fda50796",
      "old_mode": 33188,
      "old_path": "docs/pypi-dependencies.md",
      "new_id": "039200dfd460f5bfc0b55f0c5ab1984ba3166b2e",
      "new_mode": 33188,
      "new_path": "docs/pypi-dependencies.md"
    },
    {
      "type": "modify",
      "old_id": "3294c1732aaf4a56db9bdd1bc8a3843561e4cb5e",
      "old_mode": 33188,
      "old_path": "docs/toolchains.md",
      "new_id": "0e4f5c2321c8034eb9bf30ab1128de90b782ea86",
      "new_mode": 33188,
      "new_path": "docs/toolchains.md"
    },
    {
      "type": "modify",
      "old_id": "3f1fad8a8dea0499de34b292156086352a8dcc5a",
      "old_mode": 33188,
      "old_path": "examples/build_file_generation/WORKSPACE",
      "new_id": "6681ad6861cf5e19b582b1f7c6bfc6cef1ac6257",
      "new_mode": 33188,
      "new_path": "examples/build_file_generation/WORKSPACE"
    },
    {
      "type": "modify",
      "old_id": "175589fbf971494d4e1e258692303d03643c61a1",
      "old_mode": 33188,
      "old_path": "examples/bzlmod/py_proto_library/BUILD.bazel",
      "new_id": "969cb8e9f7ff1fd06e46a14c0045c8510cb02671",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/py_proto_library/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "30ad567879a2edd868c18f9b60d84cc6bbde5211",
      "old_mode": 33188,
      "old_path": "examples/bzlmod_build_file_generation/MODULE.bazel",
      "new_id": "9bec25fcbb7d34a3ec9dc86ab3a435a79b392ec1",
      "new_mode": 33188,
      "new_path": "examples/bzlmod_build_file_generation/MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "fdf040c8e531b5de5d199c6a830dddb942a3c2d4",
      "old_mode": 33188,
      "old_path": "examples/pip_parse_vendored/README.md",
      "new_id": "baa51f572970b6c6decfbb76477e9558dcff7a36",
      "new_mode": 33188,
      "new_path": "examples/pip_parse_vendored/README.md"
    },
    {
      "type": "modify",
      "old_id": "f74338d4b514debd1cab1fa2b77d33b1dcbf0609",
      "old_mode": 33188,
      "old_path": "gazelle/BUILD.bazel",
      "new_id": "0938be3dfc4ca5d77d8685ee72df9d001a4ad943",
      "new_mode": 33188,
      "new_path": "gazelle/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "01cf45a9387870d5ced1edefc1b1646533f98865",
      "old_mode": 33188,
      "old_path": "gazelle/README.md",
      "new_id": "89ebaef4cde4dc0d1bf920f25a5ce468a02cfde6",
      "new_mode": 33188,
      "new_path": "gazelle/README.md"
    },
    {
      "type": "modify",
      "old_id": "33ee6bb08a969f47c8c504db2aed56bbd4b1a0e5",
      "old_mode": 33188,
      "old_path": "gazelle/go.mod",
      "new_id": "91d27fdd5a6eea784a78d8a62877c1b68a3d4f1e",
      "new_mode": 33188,
      "new_path": "gazelle/go.mod"
    },
    {
      "type": "modify",
      "old_id": "33b5a46947af7e5ae7b803b0e9276340e14d4d98",
      "old_mode": 33188,
      "old_path": "gazelle/manifest/BUILD.bazel",
      "new_id": "ea81d85fbe449b1f0ed8038536bfa2cfe00b1aa2",
      "new_mode": 33188,
      "new_path": "gazelle/manifest/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "96248f4e083defc53caee4c994b556e87fd20669",
      "old_mode": 33188,
      "old_path": "gazelle/manifest/generate/BUILD.bazel",
      "new_id": "77d2467cef75b736caa7bee7071d6229c0bb5127",
      "new_mode": 33188,
      "new_path": "gazelle/manifest/generate/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "899b1514eef9fe47317c1a1b3fb755295c6e8d0c",
      "old_mode": 33188,
      "old_path": "gazelle/manifest/generate/generate.go",
      "new_id": "52100713e3ee07d37d562b408890c5b07b11c49c",
      "new_mode": 33188,
      "new_path": "gazelle/manifest/generate/generate.go"
    },
    {
      "type": "modify",
      "old_id": "2e7b125cc0943f05b139409229709aeed58a8054",
      "old_mode": 33188,
      "old_path": "gazelle/manifest/hasher/BUILD.bazel",
      "new_id": "c6e3c4c29beb6f5fd8e011d5babaf7726ff59c4e",
      "new_mode": 33188,
      "new_path": "gazelle/manifest/hasher/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "e80c7fcccca7966bf91f7c8003b82306ba71c5b5",
      "old_mode": 33188,
      "old_path": "gazelle/manifest/manifest_test.go",
      "new_id": "320361a8e1a9fb949845f4630ad2d5c273cb6b29",
      "new_mode": 33188,
      "new_path": "gazelle/manifest/manifest_test.go"
    },
    {
      "type": "modify",
      "old_id": "a7647f3f7cea5a0933b87f0909da946230b822bb",
      "old_mode": 33188,
      "old_path": "gazelle/manifest/test/test.go",
      "new_id": "5804a7102eba88e9b0785769f2504a5d6fc66910",
      "new_mode": 33188,
      "new_path": "gazelle/manifest/test/test.go"
    },
    {
      "type": "modify",
      "old_id": "893c82e8e46efebcafa66b3ddd411063a135d468",
      "old_mode": 33188,
      "old_path": "gazelle/python/BUILD.bazel",
      "new_id": "eb2d72e5eb180aa5b6da9d89ac7c0fd6c3048741",
      "new_mode": 33188,
      "new_path": "gazelle/python/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "a369a64b8e44514bf8e4e874b98502c1f8a939f8",
      "old_mode": 33188,
      "old_path": "gazelle/python/configure.go",
      "new_id": "7b1f091b3421ff6176199fa70e904e3472358b0b",
      "new_mode": 33188,
      "new_path": "gazelle/python/configure.go"
    },
    {
      "type": "modify",
      "old_id": "b1ac6689e458719fea4145495ca8f2d990e12d2e",
      "old_mode": 33188,
      "old_path": "gazelle/python/generate.go",
      "new_id": "27930c1025fff4887d56d3123f317f56eeb52fd0",
      "new_mode": 33188,
      "new_path": "gazelle/python/generate.go"
    },
    {
      "type": "modify",
      "old_id": "88a688fa8550cb8cafa7a855fb17ee6952c7848c",
      "old_mode": 33188,
      "old_path": "gazelle/python/resolve.go",
      "new_id": "7a2ec3d68ac2e25ef58b7d496fc8fed1128be86e",
      "new_mode": 33188,
      "new_path": "gazelle/python/resolve.go"
    },
    {
      "type": "modify",
      "old_id": "be42792375f9bb77e7e4382b7cb70cf270d57294",
      "old_mode": 33188,
      "old_path": "gazelle/python/testdata/directive_python_default_visibility/README.md",
      "new_id": "60582d640745abf756cd490fac33d0e898984230",
      "new_mode": 33188,
      "new_path": "gazelle/python/testdata/directive_python_default_visibility/README.md"
    },
    {
      "type": "modify",
      "old_id": "2c38eb78d25ae6654471c7a34418098592feb0d3",
      "old_mode": 33188,
      "old_path": "gazelle/python/testdata/directive_python_test_file_pattern_no_value/README.md",
      "new_id": "d6fb0b6a720db05113e9325d9b9b0a74f8d88a75",
      "new_mode": 33188,
      "new_path": "gazelle/python/testdata/directive_python_test_file_pattern_no_value/README.md"
    },
    {
      "type": "modify",
      "old_id": "c50a1ca100a1348d7323235f26f8ef1aa742af43",
      "old_mode": 33188,
      "old_path": "gazelle/python/testdata/with_third_party_requirements_from_imports/README.md",
      "new_id": "8713d3d7e10ddb899a423a107de6b6f6151679ac",
      "new_mode": 33188,
      "new_path": "gazelle/python/testdata/with_third_party_requirements_from_imports/README.md"
    },
    {
      "type": "modify",
      "old_id": "d80902e7ce08a9ff2536432bc8bf42c711306bf0",
      "old_mode": 33188,
      "old_path": "gazelle/pythonconfig/BUILD.bazel",
      "new_id": "711bf2eb424f271e73d05e847aa04ace92365154",
      "new_mode": 33188,
      "new_path": "gazelle/pythonconfig/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "fde0a98da281caee3aac0ea28299f714014d98e1",
      "old_mode": 33188,
      "old_path": "gazelle/pythonconfig/pythonconfig.go",
      "new_id": "2183ec60a38e17ae6c72fe0bc282c4b9e1c5acb1",
      "new_mode": 33188,
      "new_path": "gazelle/pythonconfig/pythonconfig.go"
    },
    {
      "type": "modify",
      "old_id": "17f72a7d67e90b0352562eec6eee6d7a51c8ecfc",
      "old_mode": 33188,
      "old_path": "python/packaging.bzl",
      "new_id": "629af2d6a4ea15a468ae152b61071bf75bb41b34",
      "new_mode": 33188,
      "new_path": "python/packaging.bzl"
    },
    {
      "type": "modify",
      "old_id": "d5f3b685a4bdfbae5916cb0a31781ce1fbd16d17",
      "old_mode": 33188,
      "old_path": "python/private/py_cc_toolchain_rule.bzl",
      "new_id": "f12933e245e97b11b51a8fa1b92131cfda351b2f",
      "new_mode": 33188,
      "new_path": "python/private/py_cc_toolchain_rule.bzl"
    },
    {
      "type": "modify",
      "old_id": "64ebea6ab758c9a72b63745534c4e29c11f3dc8f",
      "old_mode": 33188,
      "old_path": "python/private/py_console_script_gen.py",
      "new_id": "ffc4e81b3ae93a8aa0c1775e1ce2c91a85bdeace",
      "new_mode": 33188,
      "new_path": "python/private/py_console_script_gen.py"
    },
    {
      "type": "modify",
      "old_id": "9407cac50ff1ae9e20eab892048d2a9b3862b9c8",
      "old_mode": 33188,
      "old_path": "python/private/py_runtime_rule.bzl",
      "new_id": "3dc00baa12fdf64f69ea443425d6f49799428eb0",
      "new_mode": 33188,
      "new_path": "python/private/py_runtime_rule.bzl"
    },
    {
      "type": "modify",
      "old_id": "c839f2e4d661e071501912d3cfb34771060768e6",
      "old_mode": 33188,
      "old_path": "python/private/pypi/patch_whl.bzl",
      "new_id": "7af9c4da2f8d2c94a1196df30d75d407f4b22915",
      "new_mode": 33188,
      "new_path": "python/private/pypi/patch_whl.bzl"
    },
    {
      "type": "modify",
      "old_id": "029566eea3f10ab1170a5f5043ee665d935d3f9b",
      "old_mode": 33188,
      "old_path": "python/private/pypi/pip_repository.bzl",
      "new_id": "7976cfaae96b9ca65742ae05ccb088ce18758b76",
      "new_mode": 33188,
      "new_path": "python/private/pypi/pip_repository.bzl"
    },
    {
      "type": "modify",
      "old_id": "7d23c0e34b98e605aa1d4390270187d9307b115c",
      "old_mode": 33188,
      "old_path": "python/private/pypi/whl_installer/namespace_pkgs.py",
      "new_id": "b415844ace8ccdf1d49206c379af4b0a38a4a15e",
      "new_mode": 33188,
      "new_path": "python/private/pypi/whl_installer/namespace_pkgs.py"
    },
    {
      "type": "modify",
      "old_id": "0f6bd27cdd31d0036b35252ac47a00c44bcf133a",
      "old_mode": 33188,
      "old_path": "python/private/pypi/whl_installer/wheel.py",
      "new_id": "d95b33a194541221a9af1008bc4bb3aad6e379b9",
      "new_mode": 33188,
      "new_path": "python/private/pypi/whl_installer/wheel.py"
    },
    {
      "type": "modify",
      "old_id": "299dd36eaede59faee7a31b36bbe39d31f239492",
      "old_mode": 33188,
      "old_path": "python/private/python_repository.bzl",
      "new_id": "0534f9cd691be2787ebb38c49cf41d38cfadf92b",
      "new_mode": 33188,
      "new_path": "python/private/python_repository.bzl"
    },
    {
      "type": "modify",
      "old_id": "2cb7cc7151b30aa57122bc3faa7f02da3e5c55c0",
      "old_mode": 33261,
      "old_path": "python/private/runtime_env_toolchain_interpreter.sh",
      "new_id": "b09bc53e5ccadb317c9b577ba17904f00b1e1f98",
      "new_mode": 33261,
      "new_path": "python/private/runtime_env_toolchain_interpreter.sh"
    },
    {
      "type": "modify",
      "old_id": "bd142cf7c7f72f1142e60812305d93dcf66d53a8",
      "old_mode": 33188,
      "old_path": "python/private/stage1_bootstrap_template.sh",
      "new_id": "e548c848a563a9e4771c9faa0ac12fde0b9cd526",
      "new_mode": 33188,
      "new_path": "python/private/stage1_bootstrap_template.sh"
    },
    {
      "type": "modify",
      "old_id": "c7d57dab492cbd137b8d024d0490b85f6946ed31",
      "old_mode": 33188,
      "old_path": "python/py_binary.bzl",
      "new_id": "48ea768948482ba8cf8ce9b16c4441145826ffa2",
      "new_mode": 33188,
      "new_path": "python/py_binary.bzl"
    },
    {
      "type": "modify",
      "old_id": "12354a7deb326bfa56a317d11a0c7aafe566cf4b",
      "old_mode": 33188,
      "old_path": "python/py_library.bzl",
      "new_id": "8b8d46870bbf67f62b3d4fde3db3ea146ed35f4f",
      "new_mode": 33188,
      "new_path": "python/py_library.bzl"
    },
    {
      "type": "modify",
      "old_id": "2c4452350554e6b98b439b379b349799b37791b9",
      "old_mode": 33188,
      "old_path": "python/py_runtime.bzl",
      "new_id": "dad2965cf54fdcb99a9ae9c7dcf801e0b41179bf",
      "new_mode": 33188,
      "new_path": "python/py_runtime.bzl"
    },
    {
      "type": "modify",
      "old_id": "b1e90414a2abe7e7702707817fc3190f6ae80cda",
      "old_mode": 33188,
      "old_path": "python/py_runtime_pair.bzl",
      "new_id": "26d378fce219362b39608acae3b5bf4e0bd19853",
      "new_mode": 33188,
      "new_path": "python/py_runtime_pair.bzl"
    },
    {
      "type": "modify",
      "old_id": "7f6626e0e52546d139908e7f4d9631d93eb148ad",
      "old_mode": 33188,
      "old_path": "python/py_test.bzl",
      "new_id": "b5657730b7afb397f3bd5b97e832d1a78c2cd404",
      "new_mode": 33188,
      "new_path": "python/py_test.bzl"
    },
    {
      "type": "modify",
      "old_id": "a541b296a8b435b77914f83b8278ddef685b9936",
      "old_mode": 33188,
      "old_path": "python/runfiles/BUILD.bazel",
      "new_id": "2040403b10d1f524215481960d89f0853e58b2e5",
      "new_mode": 33188,
      "new_path": "python/runfiles/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "66e4be82ea57f9fc5194cd83e0b478724ea2dd76",
      "old_mode": 33188,
      "old_path": "sphinxdocs/docs/readthedocs.md",
      "new_id": "c347d19850e4992b9775069bfaae322a2f77d590",
      "new_mode": 33188,
      "new_path": "sphinxdocs/docs/readthedocs.md"
    },
    {
      "type": "modify",
      "old_id": "f78ee468bd207673fad2dab6a913f6264aff39f3",
      "old_mode": 33188,
      "old_path": "tests/integration/custom_commands_test.py",
      "new_id": "2e9cb741b0b1b7540ef3cb3cd4e79dee198db8c5",
      "new_mode": 33188,
      "new_path": "tests/integration/custom_commands_test.py"
    },
    {
      "type": "modify",
      "old_id": "1f6cd4e569cb8def02fac896db56733be25b3c56",
      "old_mode": 33188,
      "old_path": "tests/no_unsafe_paths/test.py",
      "new_id": "893add2f625ca4b2655e96e5833946f30e8e7fc1",
      "new_mode": 33188,
      "new_path": "tests/no_unsafe_paths/test.py"
    },
    {
      "type": "modify",
      "old_id": "cc04c05ba93e1b95950e62ff2877a198a75bb4f3",
      "old_mode": 33188,
      "old_path": "tests/packaging/BUILD.bazel",
      "new_id": "bb12269e3d12b947536f9b7bf51f3da28fc0f404",
      "new_mode": 33188,
      "new_path": "tests/packaging/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "c03c4c25233288dfba86b4ba8824d66d2ad14ff6",
      "old_mode": 33188,
      "old_path": "third_party/rules_pycross/pycross/private/tools/wheel_installer.py",
      "new_id": "a122e6773351e372f43b71dcc58126cc4254e0f7",
      "new_mode": 33188,
      "new_path": "third_party/rules_pycross/pycross/private/tools/wheel_installer.py"
    }
  ]
}
