)]}'
{
  "commit": "e05cf00465763d0798c9a2cae116dbadcc13c701",
  "tree": "35819173edb6086d3f074bc5144a027f144397c3",
  "parents": [
    "0816a1ff1e425f5177d10433a50fc756ca79ccb1"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Sun Dec 14 12:29:35 2025 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun Dec 14 20:29:35 2025 +0000"
  },
  "message": "fix: correctly merge conflicting paths when files (instead of dirs) are being linked (#3458)\n\nWhen a file (instead of directory) was duplicated, it was incorrectly be\ntreated as\na directory. The conflicting path was turned into a directory and all\nthe files\nwere made child paths of it. In practice, this usually worked out OK\nstill because\nthe conflicting file was an `__init__.py` file for a pkgutil-style\nnamespace package,\nwhich effectively converted it to an implicit namespace package.\n\nI think this was introduced by\nhttps://github.com/bazel-contrib/rules_python/pull/3448,\nbut am not 100% sure.\n\nTo fix, first check for exact path equality when merging conflicting\npaths. If the\ncandidate file has the same link_to_path as the grouping, then just link\nto that file\nand skip any remaining files in the group. The rest of the group\u0027s files\nare skipped\nbecause none of them can contribute links anymore:\n* If they have the same path, then they are ignored (first set wins)\n* If they are a sub-path, then it violates the preconditions of the\ngroup (all files\n  in the group should be exact matches or sub-paths of a common prefix)\n* If they aren\u0027t under the common prefix, then it violates the\npreconditions of the\n  group and are skipped.\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "43fcab61929ac4efa988fe4ea084e24ac20714a3",
      "old_mode": 33188,
      "old_path": "python/private/venv_runfiles.bzl",
      "new_id": "0c79ea82a1ccf408f7929dabe95c6bac96a4a496",
      "new_mode": 33188,
      "new_path": "python/private/venv_runfiles.bzl"
    },
    {
      "type": "modify",
      "old_id": "fc0b5d0bf3386c4f396995fdfa33571d24dd1811",
      "old_mode": 33188,
      "old_path": "tests/venv_site_packages_libs/app_files_building/app_files_building_tests.bzl",
      "new_id": "486293b38dab0d48abc867a7e6f455ab84a56f1e",
      "new_mode": 33188,
      "new_path": "tests/venv_site_packages_libs/app_files_building/app_files_building_tests.bzl"
    }
  ]
}
