From 216bdc0ac074e4daaac6be246f2a78f4a778b2ba Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Wed, 14 Dec 2016 20:37:38 +0100 Subject: [PATCH] fix pushing to //server/share/dir on Windows normalize_path_copy() is not prepared to keep the double-slash of a //server/share/dir kind of path, but treats it like a regular POSIX style path and transforms it to /server/share/dir. The bug manifests when 'git push //server/share/dir master' is run, because tmp_objdir_add_as_alternate() uses the path in normalized form when it registers the quarantine object database via link_alt_odb_entries(). Needless to say that the directory cannot be accessed using the wrongly normalized path. Fix it by skipping all of the root part, not just a potential drive prefix. offset_1st_component takes care of this, see the implementation in compat/mingw.c::mingw_offset_1st_component(). This fixes https://github.com/git-for-windows/git/issues/979 Signed-off-by: Johannes Sixt Signed-off-by: Johannes Schindelin --- t/t5580-clone-push-unc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/t5580-clone-push-unc.sh b/t/t5580-clone-push-unc.sh index 77abeaf4bd..e06d230724 100755 --- a/t/t5580-clone-push-unc.sh +++ b/t/t5580-clone-push-unc.sh @@ -34,7 +34,7 @@ test_expect_success clone ' git clone "file://$UNCPATH" clone ' -test_expect_failure push ' +test_expect_success push ' ( cd clone && git checkout -b to-push &&