On Mon, Jun 03, 2019 at 09:13:26PM -0500, Felipe Contreras wrote:

> diff --git a/t/t5801/git-remote-testgit b/t/t5801/git-remote-testgit
> index 752c763eb6..f2b551dfaf 100755
> --- a/t/t5801/git-remote-testgit
> +++ b/t/t5801/git-remote-testgit
> @@ -11,13 +11,10 @@ fi
>  url=$2
>  
>  dir="$GIT_DIR/testgit/$alias"
> -prefix="refs/testgit/$alias"
>  
> -default_refspec="refs/heads/*:${prefix}/heads/*"
> +refspec="refs/heads/*:refs/testgit/$alias/heads/*"
>  
> -refspec="${GIT_REMOTE_TESTGIT_REFSPEC-$default_refspec}"
> -
> -test -z "$refspec" && prefix="refs"
> +test -n "$GIT_REMOTE_TESTGIT_NOREFSPEC" && refspec=""

So this simplifies the feature by just allowing two refspecs: the
default one, or none at all. And that works because all of the existing
callers wanted or the other. Makes sense.

> @@ -81,10 +78,10 @@ do
>  
>               echo "feature done"
>               git fast-export \
> +                     ${refspec:+"--refspec=$refspec"} \
>                       ${testgitmarks:+"--import-marks=$testgitmarks"} \
>                       ${testgitmarks:+"--export-marks=$testgitmarks"} \
> -                     $refs |
> -             sed -e "s#refs/heads/#${prefix}/heads/#g"
> +                     $refs

This second hunk puzzled me for a minute. By using --refspec, we can
avoid doing the mapping with sed here, which is simpler and more robust.
Good.

One caveat for anybody else testing this: when I initially applied this
patch, some tests failed! The problem turned out to be a leftover
git-remote-testgit in my build dir from prior to 5afb2ce4cd
(remote-testgit: move it into the support directory for t5801,
2019-04-12).

So the problem isn't related to this patch (it's only noticeable here
because this is the first change to remote-testgit since it moved). I
wonder if we could make the test script more robust here. I think it's
tricky because the build dir is added to the $PATH internally by Git
itself (since it's the exec-path), so nothing do in the test script can
override that. Perhaps it's worth just renaming the script as part of
the move. +cc Dscho

-Peff

Reply via email to