Adam Dinwoodie <a...@dinwoodie.org> writes:

> t5580 tests that specifying Windows UNC paths works with Git.  Cygwin
> supports UNC paths, albeit only using forward slashes, not backslashes,
> so run the compatible tests on Cygwin as well as MinGW.
>
> The only complication is Cygwin's `pwd`, which returns a *nix-style
> path, and that's not suitable for calculating the UNC path to the
> current directory.  Instead use Cygwin's `cygpath` utility to get the
> Windows-style path.
>
> Signed-off-by: Adam Dinwoodie <a...@dinwoodie.org>
> ---
>  t/t5580-clone-push-unc.sh | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/t/t5580-clone-push-unc.sh b/t/t5580-clone-push-unc.sh
> index b322c2f72..47a9a7cda 100755
> --- a/t/t5580-clone-push-unc.sh
> +++ b/t/t5580-clone-push-unc.sh
> @@ -3,12 +3,16 @@
>  test_description='various Windows-only path tests'
>  . ./test-lib.sh
>  
> -if ! test_have_prereq MINGW; then
> +if test_have_prereq CYGWIN; then
> +     alias winpwd='cygpath -aw .'
> +elif test_have_prereq MINGW; then
> +     alias winpwd=pwd
> +else
>       skip_all='skipping Windows-only path tests'
>       test_done
>  fi

The fact that UNCPATH matters only on windows-related platforms
justifies the name used for this alias, I guess ;-)

>  
> -UNCPATH="$(pwd)"
> +UNCPATH="$(winpwd)"
>  case "$UNCPATH" in
>  [A-Z]:*)
>       # Use administrative share e.g. \\localhost\C$\git-sdk-64\usr\src\git
> @@ -45,8 +49,8 @@ test_expect_success push '
>       test "$rev" = "$(git rev-parse --verify refs/heads/to-push)"
>  '
>  
> -test_expect_success 'remote nick cannot contain backslashes' '
> -     BACKSLASHED="$(pwd | tr / \\\\)" &&
> +test_expect_success MINGW 'remote nick cannot contain backslashes' '
> +     BACKSLASHED="$(winpwd | tr / \\\\)" &&
>       git ls-remote "$BACKSLASHED" >out 2>err &&
>       test_i18ngrep ! "unable to access" err
>  '

Reply via email to