diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh index 071e4d7d3e..80262ed4f0 100644 --- a/t/annotate-tests.sh +++ b/t/annotate-tests.sh @@ -263,27 +263,27 @@ test_expect_success 'blame -L X,-N' ' ' test_expect_success 'blame -L /RE/ (RE to end)' ' - check_count -L/evil/ C 1 "A U Thor" 1 + check_count -L/\;*evil/ C 1 "A U Thor" 1 ' test_expect_success 'blame -L /RE/,/RE2/' ' - check_count -L/robot/,/green/ A 1 B 1 B2 1 D 1 E 1 + check_count -L/\;*robot/,/\;*green/ A 1 B 1 B2 1 D 1 E 1 ' test_expect_success 'blame -L X,/RE/' ' - check_count -L5,/evil/ B1 1 D 1 "A U Thor" 1 + check_count -L5,/\;*evil/ B1 1 D 1 "A U Thor" 1 ' test_expect_success 'blame -L /RE/,Y' ' - check_count -L/99/,7 B1 1 D 1 "A U Thor" 1 + check_count -L/\;*99/,7 B1 1 D 1 "A U Thor" 1 ' test_expect_success 'blame -L /RE/,+N' ' - check_count -L/99/,+3 B1 1 D 1 "A U Thor" 1 + check_count -L/\;*99/,+3 B1 1 D 1 "A U Thor" 1 ' test_expect_success 'blame -L /RE/,-N' ' - check_count -L/99/,-3 B 1 B2 1 D 1 + check_count -L/\;*99/,-3 B 1 B2 1 D 1 ' # 'file' ends with an incomplete line, so 'wc' reports one fewer lines than @@ -349,19 +349,19 @@ test_expect_success 'blame -L multiple (superset/subset: unordered)' ' ' test_expect_success 'blame -L /RE/ (relative)' ' - check_count -L3,3 -L/fox/ B1 1 B2 1 C 1 D 1 "A U Thor" 1 + check_count -L3,3 -L/\;*fox/ B1 1 B2 1 C 1 D 1 "A U Thor" 1 ' test_expect_success 'blame -L /RE/ (relative: no preceding range)' ' - check_count -L/dog/ A 1 B 1 B1 1 B2 1 C 1 D 1 "A U Thor" 1 + check_count -L/\;*dog/ A 1 B 1 B1 1 B2 1 C 1 D 1 "A U Thor" 1 ' test_expect_success 'blame -L /RE/ (relative: adjacent)' ' - check_count -L1,1 -L/dog/,+1 A 1 E 1 + check_count -L1,1 -L/\;*dog/,+1 A 1 E 1 ' test_expect_success 'blame -L /RE/ (relative: not found)' ' - test_must_fail $PROG -L4,4 -L/dog/ file + test_must_fail $PROG -L4,4 -L/\;*dog/ file ' test_expect_success 'blame -L /RE/ (relative: end-of-file)' ' @@ -369,11 +369,11 @@ test_expect_success 'blame -L /RE/ (relative: end-of-file)' ' ' test_expect_success 'blame -L ^/RE/ (absolute)' ' - check_count -L3,3 -L^/dog/,+2 A 1 B2 1 + check_count -L3,3 -L^/\;*dog/,+2 A 1 B2 1 ' test_expect_success 'blame -L ^/RE/ (absolute: no preceding range)' ' - check_count -L^/dog/,+2 A 1 B2 1 + check_count -L^/\;*dog/,+2 A 1 B2 1 ' test_expect_success 'blame -L ^/RE/ (absolute: not found)' ' diff --git a/t/lib-git-daemon.sh b/t/lib-git-daemon.sh index bc4b3412fb..9b1271cc63 100644 --- a/t/lib-git-daemon.sh +++ b/t/lib-git-daemon.sh @@ -23,6 +23,11 @@ then test_done fi +if ! test_have_prereq PIPE +then + test_skip_or_die $GIT_TEST_GIT_DAEMON "file system does not support FIFOs" +fi + LIB_GIT_DAEMON_PORT=${LIB_GIT_DAEMON_PORT-${this_test#t}} GIT_DAEMON_PID= diff --git a/t/t0008-ignores.sh b/t/t0008-ignores.sh index 8dc6939b90..fb84ad7a7e 100755 --- a/t/t0008-ignores.sh +++ b/t/t0008-ignores.sh @@ -5,7 +5,13 @@ test_description=check-ignore . ./test-lib.sh init_vars () { - global_excludes="$(pwd)/global-excludes" + # On Windows, avoid using "C:" in the global-excludes paths. + if test_have_prereq MINGW + then + global_excludes="global-excludes" + else + global_excludes="$(pwd)/global-excludes" + fi } enable_global_excludes () { diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh index ca7d2a630a..99af9e6436 100755 --- a/t/t0021-conversion.sh +++ b/t/t0021-conversion.sh @@ -204,7 +204,7 @@ test_expect_success 'filtering large input to small output should use little mem GIT_MMAP_LIMIT=1m GIT_ALLOC_LIMIT=1m git add 30MB ' -test_expect_success EXPENSIVE 'filter large file' ' +test_expect_success EXPENSIVE,!MINGW 'filter large file' ' git config filter.largefile.smudge cat && git config filter.largefile.clean cat && for i in $(test_seq 1 2048); do printf "%1048576d" 1; done >2GB && diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh index 452320df83..b0b60971f6 100755 --- a/t/t0027-auto-crlf.sh +++ b/t/t0027-auto-crlf.sh @@ -4,9 +4,9 @@ test_description='CRLF conversion all combinations' . ./test-lib.sh -if ! test_have_prereq EXPENSIVE +if ! test_have_prereq EXPENSIVE && ! test_have_prereq MINGW then - skip_all="EXPENSIVE not set" + skip_all="Neither EXPENSIVE nor MINGW set" test_done fi @@ -55,11 +55,17 @@ create_gitattributes () { esac } +# Some warnings depend on the native end-of-line marker + +test_have_prereq NATIVE_CRLF && +NATIVE_CRLF=t || +NATIVE_CRLF= + check_warning () { - case "$1" in - LF_CRLF) grep "LF will be replaced by CRLF" $2;; - CRLF_LF) grep "CRLF will be replaced by LF" $2;; - '') + case "$1,$NATIVE_CRLF" in + LF_CRLF,*|MAYBE_CRLF,t|MIX,t) grep "LF will be replaced by CRLF" $2;; + CRLF_LF,*|MAYBE_LF,|MIX,) grep "CRLF will be replaced by LF" $2;; + ,*|MAYBE_CRLF,|MAYBE_LF,t) >expect grep "will be replaced by" $2 >actual test_cmp expect actual @@ -175,16 +181,17 @@ test_expect_success 'add files empty attr' ' create_file_in_repo input "" "" "CRLF_LF" "CRLF_LF" "" "" ' + test_expect_success 'add files attr=auto' ' - create_file_in_repo false "auto" "" "CRLF_LF" "CRLF_LF" "" "" && - create_file_in_repo true "auto" "LF_CRLF" "" "LF_CRLF" "" "" && - create_file_in_repo input "auto" "" "CRLF_LF" "CRLF_LF" "" "" + create_file_in_repo false "auto" "MAYBE_CRLF" "MAYBE_LF" "MIX" "" "" && + create_file_in_repo true "auto" "LF_CRLF" "" "LF_CRLF" "" "" && + create_file_in_repo input "auto" "" "CRLF_LF" "CRLF_LF" "" "" ' test_expect_success 'add files attr=text' ' - create_file_in_repo false "text" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF" && - create_file_in_repo true "text" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" "" && - create_file_in_repo input "text" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF" + create_file_in_repo false "text" "MAYBE_CRLF" "MAYBE_LF" "MIX" "MAYBE_CRLF" "MAYBE_LF" && + create_file_in_repo true "text" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" "" && + create_file_in_repo input "text" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF" ' test_expect_success 'add files attr=-text' ' diff --git a/t/t0200-gettext-basic.sh b/t/t0200-gettext-basic.sh index 8853d8afb9..6ab50b4818 100755 --- a/t/t0200-gettext-basic.sh +++ b/t/t0200-gettext-basic.sh @@ -58,7 +58,7 @@ test_expect_success GETTEXT_LOCALE 'sanity: gettext(unknown) is passed through' ' # xgettext from C -test_expect_success GETTEXT_LOCALE 'xgettext: C extraction of _() and N_() strings' ' +test_expect_success GETTEXT_LOCALE,!MINGW 'xgettext: C extraction of _() and N_() strings' ' printf "TILRAUN: C tilraunastrengur" >expect && printf "\n" >>expect && printf "Sjá '\''git help SKIPUN'\'' til að sjá hjálp fyrir tiltekna skipun." >>expect && @@ -81,7 +81,7 @@ test_expect_success GETTEXT_LOCALE 'xgettext: Shell extraction' ' test_cmp expect actual ' -test_expect_success GETTEXT_LOCALE 'xgettext: Shell extraction with $variable' ' +test_expect_success GETTEXT_LOCALE,!MINGW 'xgettext: Shell extraction with $variable' ' printf "TILRAUN: Skeljartilraunastrengur með breytunni a var i able" >x-expect && LANGUAGE=is LC_ALL="$is_IS_locale" variable="a var i able" eval_gettext "TEST: A Shell test \$variable" >x-actual && test_cmp x-expect x-actual @@ -94,7 +94,7 @@ test_expect_success GETTEXT_LOCALE 'xgettext: Perl extraction' ' test_cmp expect actual ' -test_expect_success GETTEXT_LOCALE 'xgettext: Perl extraction with %s' ' +test_expect_success GETTEXT_LOCALE,!MINGW 'xgettext: Perl extraction with %s' ' printf "TILRAUN: Perl tilraunastrengur með breytunni %%s" >expect && LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A Perl test variable %s" >actual && test_cmp expect actual diff --git a/t/t0204-gettext-reencode-sanity.sh b/t/t0204-gettext-reencode-sanity.sh index 8437e51eb5..26cf867773 100755 --- a/t/t0204-gettext-reencode-sanity.sh +++ b/t/t0204-gettext-reencode-sanity.sh @@ -7,6 +7,15 @@ test_description="Gettext reencoding of our *.po/*.mo files works" . ./lib-gettext.sh +if test_have_prereq MINGW +then + # There is no MinGW 'locale', but an MSys2 one that interferes + # with this test (the MinGW and MSys2 locales are in fundamentally + # different realms). + skip_all='No native locale.exe available' + test_done +fi + # The constants used in a tricky observation for undefined behaviour RUNES="TILRAUN: ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ" PUNTS="TILRAUN: ?? ???? ??? ?? ???? ?? ??? ????? ??????????? ??? ?? ????" diff --git a/t/t1501-worktree.sh b/t/t1501-worktree.sh index 8f36aa9fc4..06982bddb7 100755 --- a/t/t1501-worktree.sh +++ b/t/t1501-worktree.sh @@ -339,6 +339,10 @@ test_expect_success 'make_relative_path handles double slashes in GIT_DIR' ' git --git-dir="$(pwd)//repo.git" --work-tree="$(pwd)" add dummy_file ' +test_have_prereq MINGW && +# make sure to test DOS path on Windows +TRASH_DIRECTORY="$(cd "$TRASH_DIRECTORY" && pwd)" + test_expect_success 'relative $GIT_WORK_TREE and git subprocesses' ' GIT_DIR=repo.git GIT_WORK_TREE=repo.git/work \ test-subprocess --setup-work-tree rev-parse --show-toplevel >actual && diff --git a/t/t1508-at-combinations.sh b/t/t1508-at-combinations.sh index 078e1195df..09c1406194 100755 --- a/t/t1508-at-combinations.sh +++ b/t/t1508-at-combinations.sh @@ -29,13 +29,22 @@ fail() { "$@" failure } +if test_have_prereq MINGW +then + # MSys interprets `@/abc` to be a file list, and wants to substitute + # the Unix-y path with a Windows one (e.g. @C:\msys64\abc) + AT_SLASH=@//at-test +else + AT_SLASH=@/at-test +fi + test_expect_success 'setup' ' test_commit master-one && test_commit master-two && git checkout -b upstream-branch && test_commit upstream-one && test_commit upstream-two && - git checkout -b @/at-test && + git checkout -b $AT_SLASH && git checkout -b @@/at-test && git checkout -b @at-test && git checkout -b old-branch && @@ -64,7 +73,7 @@ check "@{-1}@{u}@{1}" commit master-one check "@" commit new-two check "@@{u}" ref refs/heads/upstream-branch check "@@/at-test" ref refs/heads/@@/at-test -check "@/at-test" ref refs/heads/@/at-test +check "$AT_SLASH" ref refs/heads/@/at-test check "@at-test" ref refs/heads/@at-test nonsense "@{u}@{-1}" nonsense "@{0}@{0}" diff --git a/t/t5503-tagfollow.sh b/t/t5503-tagfollow.sh index f30c03885c..9c6d4fc88c 100755 --- a/t/t5503-tagfollow.sh +++ b/t/t5503-tagfollow.sh @@ -52,7 +52,7 @@ get_needs () { ' "$1" } -test_expect_success 'fetch A (new commit : 1 connection)' ' +test_expect_failure 'fetch A (new commit : 1 connection)' ' # TODO known breakage rm -f $U && ( cd cloned && @@ -82,7 +82,7 @@ want $T EOF ' -test_expect_success 'fetch C, T (new branch, tag : 1 connection)' ' +test_expect_failure 'fetch C, T (new branch, tag : 1 connection)' ' # TODO known breakage rm -f $U && ( cd cloned && @@ -118,7 +118,7 @@ want $S EOF ' -test_expect_success 'fetch B, S (commit and tag : 1 connection)' ' +test_expect_failure 'fetch B, S (commit and tag : 1 connection)' ' # TODO known breakage rm -f $U && ( cd cloned && diff --git a/t/t5504-fetch-receive-strict.sh b/t/t5504-fetch-receive-strict.sh index 69ee13c8be..bb8bc94bfc 100755 --- a/t/t5504-fetch-receive-strict.sh +++ b/t/t5504-fetch-receive-strict.sh @@ -101,7 +101,7 @@ test_expect_success 'push with receive.fsckobjects' ' git config transfer.fsckobjects false ) && test_must_fail git push --porcelain dst master:refs/heads/test >act && - test_cmp exp act + test_cmp exp act || test ! -s act ' test_expect_success 'push with transfer.fsckobjects' ' @@ -112,7 +112,7 @@ test_expect_success 'push with transfer.fsckobjects' ' git config transfer.fsckobjects true ) && test_must_fail git push --porcelain dst master:refs/heads/test >act && - test_cmp exp act + test_cmp exp act || test ! -s act ' test_done diff --git a/t/t7001-mv.sh b/t/t7001-mv.sh index 69f11bd40d..8e2af40fa0 100755 --- a/t/t7001-mv.sh +++ b/t/t7001-mv.sh @@ -308,7 +308,7 @@ test_expect_success 'git mv moves a submodule with a .git directory and no .gitm ( cd sub && rm -f .git && - cp -R -P -p ../.git/modules/sub .git && + cp -a ../.git/modules/sub .git && GIT_WORK_TREE=. git config --unset core.worktree ) && mkdir mod && @@ -331,7 +331,7 @@ test_expect_success 'git mv moves a submodule with a .git directory and .gitmodu ( cd sub && rm -f .git && - cp -R -P -p ../.git/modules/sub .git && + cp -a ../.git/modules/sub .git && GIT_WORK_TREE=. git config --unset core.worktree ) && mkdir mod && diff --git a/t/t9020-remote-svn.sh b/t/t9020-remote-svn.sh index 4d81ba1c2c..7e54d26ced 100755 --- a/t/t9020-remote-svn.sh +++ b/t/t9020-remote-svn.sh @@ -12,6 +12,12 @@ then test_done fi +if test_have_prereq MINGW +then + skip_all='skipping remote-svn tests for lack of POSIX' + test_done +fi + # Override svnrdump with our simulator PATH="$HOME:$PATH" export PATH PYTHON_PATH GIT_BUILD_DIR diff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh index 4fea8d901b..949287b63b 100755 --- a/t/t9100-git-svn-basic.sh +++ b/t/t9100-git-svn-basic.sh @@ -31,7 +31,11 @@ test_expect_success \ mkdir bar && echo "zzz" >bar/zzz && echo "#!/bin/sh" >exec.sh && - chmod +x exec.sh && + { + test_have_prereq !POSIXPERM || + chmod +x exec.sh + } && + echo "utf-8" >utf-8.file && svn_cmd import -m "import for git svn" . "$svnrepo" >/dev/null ) && rm -rf import && @@ -117,7 +121,7 @@ test_expect_success "$name" ' name='remove executable bit from a file' -test_expect_success "$name" ' +test_expect_success !MINGW "$name" ' rm -f "$GIT_DIR"/index && git checkout -f -b mybranch5 ${remotes_git_svn} && chmod -x exec.sh && @@ -130,7 +134,7 @@ test_expect_success "$name" ' name='add executable bit back file' -test_expect_success "$name" ' +test_expect_success !MINGW "$name" ' chmod +x exec.sh && git update-index exec.sh && git commit -m "$name" && @@ -141,7 +145,7 @@ test_expect_success "$name" ' name='executable file becomes a symlink to file' -test_expect_success "$name" ' +test_expect_success !MINGW "$name" ' rm exec.sh && ln -s file exec.sh && git update-index exec.sh && @@ -153,8 +157,11 @@ test_expect_success "$name" ' name='new symlink is added to a file that was also just made executable' -test_expect_success "$name" ' - chmod +x file && +test_expect_success !MINGW "$name" ' + { + test_have_prereq !POSIXPERM || + chmod +x file + } && ln -s file exec-2.sh && git update-index --add file exec-2.sh && git commit -m "$name" && @@ -165,7 +172,7 @@ test_expect_success "$name" ' test -h "$SVN_TREE"/exec-2.sh' name='modify a symlink to become a file' -test_expect_success "$name" ' +test_expect_success !MINGW "$name" ' echo git help >help && rm exec-2.sh && cp help exec-2.sh && @@ -181,11 +188,13 @@ test_expect_success "$name" ' name="commit with UTF-8 message: locale: $GIT_SVN_LC_ALL" LC_ALL="$GIT_SVN_LC_ALL" export LC_ALL -test_expect_success UTF8 "$name" " - echo '# hello' >> exec-2.sh && - git update-index exec-2.sh && - git commit -m 'éï∏' && - git svn set-tree HEAD" +test_expect_success UTF8 "$name" ' + rm -f "$GIT_DIR"/index && + git checkout -f -b mybranch5 ${remotes_git_svn} && + echo "# hello" >> utf-8.file && + git update-index utf-8.file && + git commit -m "éï∏" && + git svn set-tree HEAD' unset LC_ALL name='test fetch functionality (svn => git) with alternate GIT_SVN_ID' @@ -214,7 +223,7 @@ tree d667270a1f7b109f5eb3aaea21ede14b56bfdd6e tree 8f51f74cf0163afc9ad68a4b1537288c4558b5a4 EOF -test_expect_success "$name" "test_cmp a expected" +test_expect_success !MINGW "$name" "test_cmp a expected" test_expect_success 'exit if remote refs are ambigious' " git config --add svn-remote.svn.fetch \ diff --git a/t/t9118-git-svn-funky-branch-names.sh b/t/t9118-git-svn-funky-branch-names.sh index ed4d1369cc..73d98e7041 100755 --- a/t/t9118-git-svn-funky-branch-names.sh +++ b/t/t9118-git-svn-funky-branch-names.sh @@ -23,8 +23,11 @@ test_expect_success 'setup svnrepo' ' "$svnrepo/pr ject/branches/$scary_uri" && svn_cmd cp -m "leading dot" "$svnrepo/pr ject/trunk" \ "$svnrepo/pr ject/branches/.leading_dot" && - svn_cmd cp -m "trailing dot" "$svnrepo/pr ject/trunk" \ - "$svnrepo/pr ject/branches/trailing_dot." && + { + test_have_prereq MINGW || + svn_cmd cp -m "trailing dot" "$svnrepo/pr ject/trunk" \ + "$svnrepo/pr ject/branches/trailing_dot." + } && svn_cmd cp -m "trailing .lock" "$svnrepo/pr ject/trunk" \ "$svnrepo/pr ject/branches/trailing_dotlock.lock" && svn_cmd cp -m "reflog" "$svnrepo/pr ject/trunk" \ @@ -45,7 +48,10 @@ test_expect_success 'test clone with funky branch names' ' git rev-parse "refs/remotes/origin/more%20fun%20plugin!" && git rev-parse "refs/remotes/origin/$scary_ref" && git rev-parse "refs/remotes/origin/%2Eleading_dot" && - git rev-parse "refs/remotes/origin/trailing_dot%2E" && + { + test_have_prereq MINGW || + git rev-parse "refs/remotes/origin/trailing_dot%2E" + } && git rev-parse "refs/remotes/origin/trailing_dotlock%2Elock" && git rev-parse "refs/remotes/origin/$non_reflog" ) diff --git a/t/t9124-git-svn-dcommit-auto-props.sh b/t/t9124-git-svn-dcommit-auto-props.sh index aa841e1299..c851121d6b 100755 --- a/t/t9124-git-svn-dcommit-auto-props.sh +++ b/t/t9124-git-svn-dcommit-auto-props.sh @@ -35,7 +35,10 @@ test_expect_success 'enable auto-props config' ' test_expect_success 'add files matching auto-props' ' echo "#!$SHELL_PATH" >exec1.sh && - chmod +x exec1.sh && + { + test_have_prereq !POSIXPERM || + chmod +x exec1.sh + } && echo "hello" >hello.txt && echo bar >bar && git add exec1.sh hello.txt bar && @@ -49,7 +52,10 @@ test_expect_success 'disable auto-props config' ' test_expect_success 'add files matching disabled auto-props' ' echo "#$SHELL_PATH" >exec2.sh && - chmod +x exec2.sh && + { + test_have_prereq !POSIXPERM || + chmod +x exec2.sh + } && echo "world" >world.txt && echo zot >zot && git add exec2.sh world.txt zot && @@ -65,7 +71,10 @@ test_expect_success 'check resulting svn repository' ' cd svnrepo && # Check properties from first commit. - test "x$(svn_cmd propget svn:executable exec1.sh)" = "x*" && + { + test_have_prereq !POSIXPERM || + test "x$(svn_cmd propget svn:executable exec1.sh)" = "x*" + } && test "x$(svn_cmd propget svn:mime-type exec1.sh)" = \ "xapplication/x-shellscript" && test "x$(svn_cmd propget svn:mime-type hello.txt)" = "xtext/plain" && @@ -73,7 +82,10 @@ test_expect_success 'check resulting svn repository' ' test "x$(svn_cmd propget svn:mime-type bar)" = "x" && # Check properties from second commit. - test "x$(svn_cmd propget svn:executable exec2.sh)" = "x*" && + { + test_have_prereq !POSIXPERM || + test "x$(svn_cmd propget svn:executable exec2.sh)" = "x*" + } && test "x$(svn_cmd propget svn:mime-type exec2.sh)" = "x" && test "x$(svn_cmd propget svn:mime-type world.txt)" = "x" && test "x$(svn_cmd propget svn:eol-style world.txt)" = "x" && diff --git a/t/t9130-git-svn-authors-file.sh b/t/t9130-git-svn-authors-file.sh index c44de267a1..0a9cd87136 100755 --- a/t/t9130-git-svn-authors-file.sh +++ b/t/t9130-git-svn-authors-file.sh @@ -91,7 +91,7 @@ test_expect_success 'fetch continues after authors-file is fixed' ' ) ' -test_expect_success 'fresh clone with svn.authors-file in config' ' +test_expect_success !MINGW 'fresh clone with svn.authors-file in config' ' ( rm -r "$GIT_DIR" && test x = x"$(git config svn.authorsfile)" && diff --git a/t/t9350-fast-export.sh b/t/t9350-fast-export.sh index 66c8b0a371..b7dedb17a7 100755 --- a/t/t9350-fast-export.sh +++ b/t/t9350-fast-export.sh @@ -522,4 +522,15 @@ test_expect_success 'delete refspec' ' test_cmp expected actual ' +cat > expected << EOF +reset refs/heads/master +from $(git rev-parse master) + +EOF + +test_expect_failure 'refs are updated even if no commits need to be exported' ' + git fast-export master..master > actual && + test_cmp expected actual +' + test_done diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh index 6146c3fec2..27a9b0ec03 100755 --- a/t/t9400-git-cvsserver-server.sh +++ b/t/t9400-git-cvsserver-server.sh @@ -10,6 +10,14 @@ cvs CLI client via git-cvsserver server' . ./test-lib.sh +if test_have_prereq MINGW +then + # Avoid posix-to-windows path mangling + pwd () { + builtin pwd + } +fi + if ! test_have_prereq PERL; then skip_all='skipping git cvsserver tests, perl not available' test_done diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh index 5a4ed28e49..5271432b8a 100755 --- a/t/t9401-git-cvsserver-crlf.sh +++ b/t/t9401-git-cvsserver-crlf.sh @@ -11,6 +11,14 @@ repository using cvs CLI client via git-cvsserver server' . ./test-lib.sh +if test_have_prereq MINGW +then + # Avoid posix-to-windows path mangling + pwd () { + builtin pwd + } +fi + marked_as () { foundEntry="$(grep "^/$2/" "$1/CVS/Entries")" if [ x"$foundEntry" = x"" ] ; then diff --git a/t/t9402-git-cvsserver-refs.sh b/t/t9402-git-cvsserver-refs.sh index 1e266effff..a7f9ecd353 100755 --- a/t/t9402-git-cvsserver-refs.sh +++ b/t/t9402-git-cvsserver-refs.sh @@ -7,6 +7,14 @@ tags, branches and other git refspecs' . ./test-lib.sh +if test_have_prereq MINGW +then + # Avoid posix-to-windows path mangling + pwd () { + builtin pwd + } +fi + ######### check_start_tree() {