Code

Fix GIT_CEILING_DIRECTORIES on Windows
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>
Sat, 7 Feb 2009 15:08:29 +0000 (16:08 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sat, 7 Feb 2009 20:23:29 +0000 (12:23 -0800)
commit43a7ddb55d82d5c6f0c4d2cbe408a1df71d58ef3
tree59fd700614e85f9f4f9054d946a92c4de5c89f0b
parentf3cad0ad82e24966bf7bcc8a47670c54c30e4b18
Fix GIT_CEILING_DIRECTORIES on Windows

Using git with GIT_CEILING_DIRECTORIES crashed on Windows due to a failed
assertion in normalize_absolute_path(): This function expects absolute
paths to start with a slash, while on Windows they can start with a drive
letter or a backslash.

This fixes it by using the alternative, normalize_path_copy() instead,
which can handle Windows-style paths just fine.

Secondly, the portability macro PATH_SEP is used instead of expecting
colons to be used as path list delimiter.

The test script t1504 is also changed to help MSYS's bash recognize some
program arguments as path list. (MSYS's bash must translate POSIX-style
path lists to Windows-style path lists, and the heuristic did not catch
some cases.)

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
path.c
t/t1504-ceiling-dirs.sh