git-p4: honor core.ignorecase when using P4 client specs
commita0a50d873c575876c6a5c185ac1c64b9a33e2fb3
authorLars Schneider <larsxschneider@gmail.com>
Fri, 28 Aug 2015 12:00:34 +0000 (28 14:00 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 28 Aug 2015 17:33:16 +0000 (28 10:33 -0700)
tree2d5db0875a375ad99e46d3093f020ec487dece1a
parent3a9835bf65d07321924f2d60686a194e9d257d20
git-p4: honor core.ignorecase when using P4 client specs

Perforce depot may record paths in mixed cases, e.g. "p4 files" may
show that there are these two paths:

   //depot/Path/to/file1
   //depot/pATH/to/file2

and with "p4" or "p4v", these end up in the same directory, e.g.

   //depot/Path/to/file1
   //depot/Path/to/file2

which is the desired outcome on case insensitive systems.

If git-p4 is used with client spec "//depot/Path/...", however, then
all files not matching the case in the client spec are ignored (in
the example above "//depot/pATH/to/file2").

Fix this by using the path case that appears first in lexicographical
order when core.ignorecase is set to true. This behavior is consistent
with "p4" and "p4v".

Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Acked-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-p4.py
t/t9821-git-p4-path-variations.sh [new file with mode: 0755]