All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] t5580: add Cygwin support
@ 2017-10-31 13:19 Adam Dinwoodie
  2017-10-31 17:39 ` Johannes Schindelin
  2017-11-01  1:44 ` Junio C Hamano
  0 siblings, 2 replies; 4+ messages in thread
From: Adam Dinwoodie @ 2017-10-31 13:19 UTC (permalink / raw)
  To: git; +Cc: Johannes Schindelin, Johannes Sixt

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 <adam@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
 
-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
 '
-- 
2.14.3


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] t5580: add Cygwin support
  2017-10-31 13:19 [PATCH] t5580: add Cygwin support Adam Dinwoodie
@ 2017-10-31 17:39 ` Johannes Schindelin
  2017-11-01  1:44 ` Junio C Hamano
  1 sibling, 0 replies; 4+ messages in thread
From: Johannes Schindelin @ 2017-10-31 17:39 UTC (permalink / raw)
  To: Adam Dinwoodie; +Cc: git, Johannes Sixt

Hi Adam,

On Tue, 31 Oct 2017, Adam Dinwoodie wrote:

> 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.

Looks good!

Thank you,
Dscho

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] t5580: add Cygwin support
  2017-10-31 13:19 [PATCH] t5580: add Cygwin support Adam Dinwoodie
  2017-10-31 17:39 ` Johannes Schindelin
@ 2017-11-01  1:44 ` Junio C Hamano
  2017-11-01 10:17   ` Adam Dinwoodie
  1 sibling, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2017-11-01  1:44 UTC (permalink / raw)
  To: Adam Dinwoodie; +Cc: git, Johannes Schindelin, Johannes Sixt

Adam Dinwoodie <adam@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 <adam@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
>  '

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] t5580: add Cygwin support
  2017-11-01  1:44 ` Junio C Hamano
@ 2017-11-01 10:17   ` Adam Dinwoodie
  0 siblings, 0 replies; 4+ messages in thread
From: Adam Dinwoodie @ 2017-11-01 10:17 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Johannes Schindelin, Johannes Sixt

On Wed, Nov 01, 2017 at 10:44:22AM +0900, Junio C Hamano wrote:
> Adam Dinwoodie <adam@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 <adam@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 ;-)

I think I was going for "Windows-style pwd" or similar, given in both
cases the alias produces something that looks like "C:\path\to\dir".

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-11-01 10:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-31 13:19 [PATCH] t5580: add Cygwin support Adam Dinwoodie
2017-10-31 17:39 ` Johannes Schindelin
2017-11-01  1:44 ` Junio C Hamano
2017-11-01 10:17   ` Adam Dinwoodie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.