mirror of
https://github.com/git/git.git
synced 2026-02-03 06:21:39 +00:00
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 <j6t@kdbg.org> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
committed by
Johannes Schindelin
parent
ec9d7b3e66
commit
216bdc0ac0
@@ -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 &&
|
||||
|
||||
Reference in New Issue
Block a user