Hi Lukács,
While working on the runfiles libraries changes required for Bzlmod, I also tried to understand --experimental_sibling_repository_layout a bit better. There is one aspect that still confuses me though.
Say the build consists of the unnamed main repository and an external repository "other_repo", each with a source ("source.txt") and a generated file ("gen.txt") in the pkg "pkg". Based on my experiments, with --experimental_sibling_repository_layout these files would have the following locations relative to the output base:
__main__/pkg/source.txt
__main__/bazel-out/k8-fastbuild/bin/pkg/gen.txt
other_repo/pkg/source.txt
__main__/bazel-out/other_repo/k8-fastbuild/bin/pkg/gen.txt
I would have expected the last path to instead be the following:
other_repo/bazel-out/k8-fastbuild/bin/pkg/gen.txt
Could you explain why `bazel-out` is still planted under the main repository? Doesn't that potentially lead to clashes if someone calls a repo `k8-fastbuild` or `volatile-status.txt`?
Best,
Fabian