Fix 'clone' failure at DOS root directory.
authorEric Sunshine <sunshine@sunshineco.com>
Wed, 7 Jul 2010 01:48:47 +0000 (21:48 -0400)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Sun, 3 Oct 2010 22:34:23 +0000 (23:34 +0100)
commitb248e950966769f5f981321ea9d12f2b238c978c
tree8dc2dbd54301814462799a1774a0aa931da485a5
parent1a4042096c2e8893246a99ef8e43c07acb76f54b
Fix 'clone' failure at DOS root directory.

Cloning via relative path fails for a project residing immediately under
the root directory of a DOS drive.  For instance, for project c:/foo,
issuing "cd c:/" followed by "git clone foo bar" fails with error
"Unable to find remote helper for 'c'".  The problem is caused by
make_nonrelative_path() incorrectly returning c://foo rather than
c:/foo for input "foo".  The bogus path c://foo is misinterpreted by
transport_get() as a URL with unrecognized protocol "c", hence the
missing remote helper error.  Fix make_nonrelative_path() to return
c:/foo rather than c://foo (and /foo rather than //foo on Unix).

Resolves msysgit issue #501 [1]

[PT: squashed in changes requested by Junio [2][3]]

[1] http://code.google.com/p/msysgit/issues/detail?id=501
[2] http://marc.info/?l=git&m=128570102331652&w=2
[3] http://marc.info/?l=git&m=128573246704862&w=2

Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
abspath.c