Re: [PATCH 3/2] t5547-push-quarantine: run the path separator test on Windows, too
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 13, 2016, 19:23 UTC
- Message-ID
- <xmqqinqn3a6c.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <d9d2580c-a2e5-d9f3-1f56-6814b2b2285d@kdbg.org>
Johannes Sixt <j6t@kdbg.org> writes:
Show 22 quoted lines
> To perform the test case on Windows in a way that corresponds to the > POSIX version, inject the semicolon in a directory name. > > Typically, an absolute POSIX style path, such as the one in $PWD, is > translated into a Windows style path by bash when it invokes git.exe. > However, the presence of the semicolon suppresses this translation; > but the untranslated POSIX style path is useless for git.exe. > Therefore, instead of $PWD pass the Windows style path that $(pwd) > produces. > > Signed-off-by: Johannes Sixt <j6t@kdbg.org> > --- > Am 12.12.2016 um 20:53 schrieb Jeff King: >> Johannes, please let me know if I am wrong about skipping the test on >> !MINGW. The appropriate check there would be ";" anyway, but I am not >> sure _that_ is allowed in paths, either. > > Here is a version for Windows. I'd prefer this patch on top instead > of squashing it into yours to keep the $PWD vs. $(pwd) explanation. > > The result is the same as yours in all practical matters; but this > version I have already tested.
Will queue (I would wait for peff@ to say "OK", but I suspect he would be OK in this case).
Thanks.
Show 40 quoted lines
> t/t5547-push-quarantine.sh | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/t/t5547-push-quarantine.sh b/t/t5547-push-quarantine.sh
> index 6275ec807b..af9fcd833a 100755
> --- a/t/t5547-push-quarantine.sh
> +++ b/t/t5547-push-quarantine.sh
> @@ -33,8 +33,7 @@ test_expect_success 'rejected objects are removed' '
> test_cmp expect actual
> '
>
> -# MINGW does not allow colons in pathnames in the first place
> -test_expect_success !MINGW 'push to repo path with colon' '
> +test_expect_success 'push to repo path with path separator (colon)' '
> # The interesting failure case here is when the
> # receiving end cannot access its original object directory,
> # so make it likely for us to generate a delta by having
> @@ -43,13 +42,20 @@ test_expect_success !MINGW 'push to repo path with colon' '
> test-genrandom foo 4096 >file.bin &&
> git add file.bin &&
> git commit -m bin &&
> - git clone --bare . xxx:yyy.git &&
> +
> + if test_have_prereq MINGW
> + then
> + pathsep=";"
> + else
> + pathsep=":"
> + fi &&
> + git clone --bare . "xxx${pathsep}yyy.git" &&
>
> echo change >>file.bin &&
> git commit -am change &&
> # Note that we have to use the full path here, or it gets confused
> # with the ssh host:path syntax.
> - git push "$PWD/xxx:yyy.git" HEAD
> + git push "$(pwd)/xxx${pathsep}yyy.git" HEAD
> '
>
> test_done