diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-01-18 15:12:14 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-01-18 15:12:14 -0800 |
commit | e51058ffc5baf06cf77d13a962c4e0684052db96 (patch) | |
tree | 87ead058cca7933f3e1b2a717c3e2df758f510c7 | |
parent | Merge branch 'sb/submodule-cleanup-export-git-dir-env' (diff) | |
parent | mingw: add a regression test for pushing to UNC paths (diff) | |
download | tgif-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-x | t/t5580-clone-push-unc.sh | 48 |
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 |