Subject: Re: [PATCH] t5570: use explicit push refspec

From: Junio C Hamano <[email-masked]>
Date: Sat, 14 Apr 2012 16:40:01 -0700

Clemens Buchacher <[email-masked]> writes:

> The default mode for push without arguments will change. Some warnings
> are about to be enabled for such use, which causes some t5570 tests to
> fail because they do not expect this output. Fix this by passing an
> explicit refspec to git push.

I wonder if a better fix is to configure "push.default = matching" in the
test repository.  Otherwise wouldn't the result of the push change once
the default changes?

> Signed-off-by: Clemens Buchacher <[email-masked]>
> ---
>
> On Sat, Apr 14, 2012 at 08:29:07PM +0200, Clemens Buchacher wrote:
>> 
>> Note that t5570 fails on current pu, because of the push.default
>> warnings. I am sending an independent patch for that.
>
> Here we go.
>
>  t/t5570-git-daemon.sh |   30 ++++++++++++++----------------
>  1 file changed, 14 insertions(+), 16 deletions(-)
>
> diff --git a/t/t5570-git-daemon.sh b/t/t5570-git-daemon.sh
> index 7cbc999..a3a4e47 100755
> --- a/t/t5570-git-daemon.sh
> +++ b/t/t5570-git-daemon.sh
> @@ -103,14 +103,12 @@ test_remote_error()
>  		esac
>  	done
>  
> -	if test $# -ne 3
> -	then
> -		error "invalid number of arguments"
> -	fi
> -
> +	msg=$1
> +	shift
>  	cmd=$1
> -	repo=$2
> -	msg=$3
> +	shift
> +	repo=$1
> +	shift || error "invalid number of arguments"
>  
>  	if test -x "$GIT_DAEMON_DOCUMENT_ROOT_PATH/$repo"
>  	then
> @@ -122,7 +120,7 @@ test_remote_error()
>  		fi
>  	fi
>  
> -	test_must_fail git "$cmd" "$GIT_DAEMON_URL/$repo" 2>output &&
> +	test_must_fail git "$cmd" "$GIT_DAEMON_URL/$repo" "$@" 2>output &&
>  	echo "fatal: remote error: $msg: /$repo" >expect &&
>  	test_cmp expect output
>  	ret=$?
> @@ -131,18 +129,18 @@ test_remote_error()
>  }
>  
>  msg="access denied or repository not exported"
> -test_expect_success 'clone non-existent' "test_remote_error    clone nowhere.git '$msg'"
> -test_expect_success 'push disabled'      "test_remote_error    push  repo.git    '$msg'"
> -test_expect_success 'read access denied' "test_remote_error -x fetch repo.git    '$msg'"
> -test_expect_success 'not exported'       "test_remote_error -n fetch repo.git    '$msg'"
> +test_expect_success 'clone non-existent' "test_remote_error    '$msg' clone nowhere.git    "
> +test_expect_success 'push disabled'      "test_remote_error    '$msg' push  repo.git master"
> +test_expect_success 'read access denied' "test_remote_error -x '$msg' fetch repo.git       "
> +test_expect_success 'not exported'       "test_remote_error -n '$msg' fetch repo.git       "
>  
>  stop_git_daemon
>  start_git_daemon --informative-errors
>  
> -test_expect_success 'clone non-existent' "test_remote_error    clone nowhere.git 'no such repository'"
> -test_expect_success 'push disabled'      "test_remote_error    push  repo.git    'service not enabled'"
> -test_expect_success 'read access denied' "test_remote_error -x fetch repo.git    'no such repository'"
> -test_expect_success 'not exported'       "test_remote_error -n fetch repo.git    'repository not exported'"
> +test_expect_success 'clone non-existent' "test_remote_error    'no such repository'      clone nowhere.git    "
> +test_expect_success 'push disabled'      "test_remote_error    'service not enabled'     push  repo.git master"
> +test_expect_success 'read access denied' "test_remote_error -x 'no such repository'      fetch repo.git       "
> +test_expect_success 'not exported'       "test_remote_error -n 'repository not exported' fetch repo.git       "
>  
>  stop_git_daemon
>  test_done