Marc Branchaud [off-list ref] writes:
On 11-02-23 02:07 PM, Jay Soffian wrote:
quoted
And on a case-insensitive file-system, git has remapped foo.[ch] to
foo~2.[ch] for the purposes of avoiding collisions on checkout.
The checkout can't be compiled correctly, so what's the point of even
allowing it?
In our case it would be useful to still have that checkout because the
people working on the case-insensitive systems are dealing with a
different part of the tree and don't care about the part with the
collision.
Agreed; I've had this problem too. In particular, a repository with
multiple packages imported, one of which was a Linux flavor that has
conflicting names in case-preserving filesystems. The result was an
apparently modified checkout, but the offending files were not
interesting to the project. So some sort of remapping, and the
subsequent prohibition on modifications (perhaps to either) seems like a
good plan.
Perhaps by default the checkout should just error out, but then it would
be good to have a variable to instead translate the duplicated names.