Hello,
I’m not quite sure if this is to be considered a Windows specific bug. I’m using Git-1.7.10-preview20120409 on Windows, but the problem exists in previous versions.
When fast-exporting | fast-importing on Windows a repository with case only renames, the resulting repository isn’t a copy of the initial repository. This is because Windows repositories are created with core.ignorecase = true by default.
The included script shows the problem: it creates a repository with SomeFile.txt renamed to SOMEFILE.txt, then fast-export it and fast-import it in two different repositories, with core.ignorecase=false and core.ignorecase=true. The sha-1 of the second commit in the repository with core.ignorecase=true is different from the initial repository because the rename is ignored.
The situation is worse without rename detection on fast-export : the rename becomes a delete.
I think the configuration variable core.ignorecase should be ignored by fast-import, and case always taken into account in that case.
Kind regards,
Philippe Martens
Lead Architect
METRUM
Rue du Kiem, 163
L-8030 Strassen
Tél : +352 26 00 87 01
Fax : +352 26 00 87 02
GSM : +352 661 26 00 37
Email : philippe.martens@metrum.lu
Web : www.metrum.lu
P Please consider the environment before printing this e-mail.