On 25 Aug 2015, at 10:33, Torsten Bögershausen <tboegi@xxxxxx> wrote: > On 08/25/2015 08:54 AM, Luke Diamand wrote: >> On 24/08/15 22:30, larsxschneider@xxxxxxxxx wrote: >>> From: Lars Schneider <larsxschneider@xxxxxxxxx> >>> >>> Thanks to Luke Diamand I realized the core problem and propose here a >>> substiantially simpler fix to my PATCH v4. >>> >>> The test cases remain and prove the problem. In particular >>> "8 - Clone path (ignorecase)" and >>> "Add a new file and clone path with new file (ignorecase)" fail with the >>> current implementation on OS X and Linux. >> >> That's a lot simpler, thanks! >> >> Could we give this its own command line option and git config variable? >> >> Core.ignorecase gets set if the client is on a filing system that ignores case. This is slightly different - it squashes case in depot files for people with depots that have incorrectly jumbled-up case. >> >> Conflating the two seems like it would cause confusion at some point - for example, I have no idea how the rest of git behaves if core.ignorecase is set to True on a case-preserving file system. >> > That doesn't work as expected and is not allowed (or say strictly forbidden, or strongly recommended not to do) > > Remembering older discussions about importers from foreign VCS: > This should work best for most people: > Look at the command line option, if no one is given, > look at core.ignorecase. > > So the command line option overrides core.ignorecase, > and the user can either run > --ignore-path-case > or > --no-ignore-path-case Unfortunately the command line option is not sufficient as the resulting paths are still messed up. I added the switch but it looks like as core.ignorecase does some additional magic on fast-import. You can see my changes here: https://github.com/larsxschneider/git/commit/b4399179ff542161c2c5b83c34c5b4901287ceb0 You can also run the unit tests to see the results here: https://github.com/larsxschneider/git/tree/lars/fix-path-v5-with-command-switch The only way I could image to fix that is to request every path from P4 as shown in my PATCH v4. This would be slow and the change would be rather huge. I am curious: I run all my P4 -> git migrations on a Linux box with EXT4 and core.ignorecase=True. I did not realize that this might cause trouble. What could happen and what should I look out for? One thing to keep in mind: This is a one time migration and we don’t develop on these Linux boxes. We usually develop on Windows and Mac. I just use the Linux boxes as migration workers as these scripts usually run a while. - Lars-- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html