summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2017-01-18 15:12:14 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-01-18 15:12:14 -0800
commite51058ffc5baf06cf77d13a962c4e0684052db96 (patch)
tree87ead058cca7933f3e1b2a717c3e2df758f510c7
parentMerge branch 'sb/submodule-cleanup-export-git-dir-env' (diff)
parentmingw: add a regression test for pushing to UNC paths (diff)
downloadtgif-e51058ffc5baf06cf77d13a962c4e0684052db96.tar.xz
Merge branch 'js/mingw-test-push-unc-path'
"git push \\server\share\dir" has recently regressed and then fixed. A test has retroactively been added for this breakage. * js/mingw-test-push-unc-path: mingw: add a regression test for pushing to UNC paths
-rwxr-xr-xt/t5580-clone-push-unc.sh48
1 files changed, 48 insertions, 0 deletions
diff --git a/t/t5580-clone-push-unc.sh b/t/t5580-clone-push-unc.sh
new file mode 100755
index 0000000000..b195f71ea9
--- /dev/null
+++ b/t/t5580-clone-push-unc.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+test_description='various UNC path tests (Windows-only)'
+. ./test-lib.sh
+
+if ! test_have_prereq MINGW; then
+ skip_all='skipping UNC path tests, requires Windows'
+ test_done
+fi
+
+UNCPATH="$(pwd)"
+case "$UNCPATH" in
+[A-Z]:*)
+ # Use administrative share e.g. \\localhost\C$\git-sdk-64\usr\src\git
+ # (we use forward slashes here because MSYS2 and Git accept them, and
+ # they are easier on the eyes)
+ UNCPATH="//localhost/${UNCPATH%%:*}\$/${UNCPATH#?:}"
+ test -d "$UNCPATH" || {
+ skip_all='could not access administrative share; skipping'
+ test_done
+ }
+ ;;
+*)
+ skip_all='skipping UNC path tests, cannot determine current path as UNC'
+ test_done
+ ;;
+esac
+
+test_expect_success setup '
+ test_commit initial
+'
+
+test_expect_success clone '
+ git clone "file://$UNCPATH" clone
+'
+
+test_expect_success push '
+ (
+ cd clone &&
+ git checkout -b to-push &&
+ test_commit to-push &&
+ git push origin HEAD
+ ) &&
+ rev="$(git -C clone rev-parse --verify refs/heads/to-push)" &&
+ test "$rev" = "$(git rev-parse --verify refs/heads/to-push)"
+'
+
+test_done