diff --git a/compat/mingw.c b/compat/mingw.c index 8947418ce7..efdc703257 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -1321,6 +1321,13 @@ static void ensure_socket_initialization(void) initialized = 1; } +#undef gethostname +int mingw_gethostname(char *name, int namelen) +{ + ensure_socket_initialization(); + return gethostname(name, namelen); +} + #undef gethostbyname struct hostent *mingw_gethostbyname(const char *host) { diff --git a/compat/mingw.h b/compat/mingw.h index ce9dd980eb..fecf0d0776 100644 --- a/compat/mingw.h +++ b/compat/mingw.h @@ -190,6 +190,9 @@ char *mingw_getcwd(char *pointer, int len); char *mingw_getenv(const char *name); #define getenv mingw_getenv +int mingw_gethostname(char *host, int namelen); +#define gethostname mingw_gethostname + struct hostent *mingw_gethostbyname(const char *host); #define gethostbyname mingw_gethostbyname diff --git a/git-svn.perl b/git-svn.perl index b608bbf95a..b67fef0bf6 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -22,14 +22,13 @@ $Git::SVN::default_ref_id = $ENV{GIT_SVN_ID} || 'git-svn'; $Git::SVN::Ra::_log_window_size = 100; $Git::SVN::_minimize_url = 'unset'; -if (! exists $ENV{SVN_SSH}) { - if (exists $ENV{GIT_SSH}) { - $ENV{SVN_SSH} = $ENV{GIT_SSH}; - if ($^O eq 'msys') { - $ENV{SVN_SSH} =~ s/\\/\\\\/g; - $ENV{SVN_SSH} =~ s/(.*)/"$1"/; - } - } +if (! exists $ENV{SVN_SSH} && exists $ENV{GIT_SSH}) { + $ENV{SVN_SSH} = $ENV{GIT_SSH}; +} + +if (exists $ENV{SVN_SSH} && $^O eq 'msys') { + $ENV{SVN_SSH} =~ s/\\/\\\\/g; + $ENV{SVN_SSH} =~ s/(.*)/"$1"/; } $Git::SVN::Log::TZ = $ENV{TZ}; diff --git a/mergetools/bc3 b/mergetools/bc3 index 27b3dd48b8..b6319d206e 100644 --- a/mergetools/bc3 +++ b/mergetools/bc3 @@ -16,5 +16,10 @@ merge_cmd () { } translate_merge_tool_path() { - echo bcompare + if type bcomp >/dev/null 2>/dev/null + then + echo bcomp + else + echo bcompare + fi } diff --git a/t/t1020-subdirectory.sh b/t/t1020-subdirectory.sh index 3b1b985996..e23ac0e69d 100755 --- a/t/t1020-subdirectory.sh +++ b/t/t1020-subdirectory.sh @@ -118,7 +118,7 @@ test_expect_success 'alias expansion' ' ) ' -test_expect_success '!alias expansion' ' +test_expect_success NOT_MINGW '!alias expansion' ' pwd >expect && ( git config alias.test !pwd && diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 87b4acc9a6..8c12c65c72 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -23,6 +23,7 @@ test_expect_success $PREREQ \ echo do echo " echo \"!\$a!\"" echo "done >commandline\$output" + test_have_prereq MINGW && echo "dos2unix commandline\$output" echo "cat > msgtxt\$output" ) >fake.sendmail && chmod +x ./fake.sendmail && diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index bd32b91d8f..438aaf6b14 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -2237,7 +2237,7 @@ test_expect_success 'R: cat-blob-fd must be a nonnegative integer' ' test_must_fail git fast-import --cat-blob-fd=-1 expect <<-EOF && ${blob} blob 11 @@ -2249,7 +2249,7 @@ test_expect_success 'R: print old blob' ' test_cmp expect actual ' -test_expect_success 'R: in-stream cat-blob-fd not respected' ' +test_expect_success NOT_MINGW 'R: in-stream cat-blob-fd not respected' ' echo hello >greeting && blob=$(git hash-object -w greeting) && cat >expect <<-EOF && @@ -2270,7 +2270,7 @@ test_expect_success 'R: in-stream cat-blob-fd not respected' ' test_cmp expect actual.1 ' -test_expect_success 'R: print new blob' ' +test_expect_success NOT_MINGW 'R: print new blob' ' blob=$(echo "yep yep yep" | git hash-object --stdin) && cat >expect <<-EOF && ${blob} blob 12 @@ -2288,7 +2288,7 @@ test_expect_success 'R: print new blob' ' test_cmp expect actual ' -test_expect_success 'R: print new blob by sha1' ' +test_expect_success NOT_MINGW 'R: print new blob by sha1' ' blob=$(echo "a new blob named by sha1" | git hash-object --stdin) && cat >expect <<-EOF && ${blob} blob 25 diff --git a/t/t9901-git-web--browse.sh b/t/t9901-git-web--browse.sh index 7906e5d032..b0a6bad8dd 100755 --- a/t/t9901-git-web--browse.sh +++ b/t/t9901-git-web--browse.sh @@ -7,31 +7,32 @@ This test checks that git web--browse can handle various valid URLs.' . ./test-lib.sh +test_web_browse () { + # browser=$1 url=$2 + git web--browse --browser="$1" "$2" >actual && + tr -d '\015' text && + test_cmp expect text +} + test_expect_success \ 'URL with an ampersand in it' ' echo http://example.com/foo\&bar >expect && git config browser.custom.cmd echo && - git web--browse --browser=custom \ - http://example.com/foo\&bar >actual && - test_cmp expect actual + test_web_browse custom http://example.com/foo\&bar ' test_expect_success \ 'URL with a semi-colon in it' ' echo http://example.com/foo\;bar >expect && git config browser.custom.cmd echo && - git web--browse --browser=custom \ - http://example.com/foo\;bar >actual && - test_cmp expect actual + test_web_browse custom http://example.com/foo\;bar ' test_expect_success \ 'URL with a hash in it' ' echo http://example.com/foo#bar >expect && git config browser.custom.cmd echo && - git web--browse --browser=custom \ - http://example.com/foo#bar >actual && - test_cmp expect actual + test_web_browse custom http://example.com/foo#bar ' test_expect_success \ @@ -43,9 +44,7 @@ test_expect_success \ EOF chmod +x "fake browser" && git config browser.w3m.path "`pwd`/fake browser" && - git web--browse --browser=w3m \ - http://example.com/foo >actual && - test_cmp expect actual + test_web_browse w3m http://example.com/foo ' test_expect_success \ @@ -58,9 +57,7 @@ test_expect_success \ done } f" && - git web--browse --browser=custom \ - http://example.com/foo >actual && - test_cmp expect actual + test_web_browse custom http://example.com/foo ' test_done