All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "SZEDER Gábor" <szeder.dev@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 1/2] t5516-fetch-push: fix 'push with dry-run' test
Date: Fri, 11 May 2018 12:32:38 +0900	[thread overview]
Message-ID: <xmqqmux6hnop.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <20180510140154.30381-1-szeder.dev@gmail.com> ("SZEDER =?utf-8?Q?G=C3=A1bor=22's?= message of "Thu, 10 May 2018 16:01:53 +0200")

SZEDER Gábor <szeder.dev@gmail.com> writes:

> In a while-at-it cleanup replacing a 'cd dir && <...> && cd ..' with a
> subshell, commit 28391a80a9 (receive-pack: allow deletion of corrupt
> refs, 2007-11-29) also moved the assignment of the $old_commit
> variable to that subshell.  This variable, however, is used outside of
> that subshell as a parameter of check_push_result(), to check that a
> ref still points to the commit where it is supposed to.  With the
> variable remaining unset outside the subshell check_push_result()
> doesn't perform that check at all.

Sigh/Blush.  Thanks for finding an old screw-up.

>
> Use 'git -C <dir> cmd...', so we don't need to change directory, and
> thus don't need the subshell either when setting $old_commit.
>
> Furthermore, change check_push_result() to require at least three
> parameters (the repo, the oid, and at least one ref), so it will catch
> similar issues earlier should they ever arise.
>
> Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
> ---
>  t/t5516-fetch-push.sh | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/t/t5516-fetch-push.sh b/t/t5516-fetch-push.sh
> index 82239138d5..832b79ad40 100755
> --- a/t/t5516-fetch-push.sh
> +++ b/t/t5516-fetch-push.sh
> @@ -94,6 +94,9 @@ mk_child() {
>  }
>  
>  check_push_result () {
> +	test $# -ge 3 ||
> +	error "bug in the test script: check_push_result requires at least 3 parameters"
> +
>  	repo_name="$1"
>  	shift
>  
> @@ -553,10 +556,7 @@ test_expect_success 'branch.*.pushremote config order is irrelevant' '
>  test_expect_success 'push with dry-run' '
>  
>  	mk_test testrepo heads/master &&
> -	(
> -		cd testrepo &&
> -		old_commit=$(git show-ref -s --verify refs/heads/master)
> -	) &&
> +	old_commit=$(git -C testrepo show-ref -s --verify refs/heads/master) &&
>  	git push --dry-run testrepo : &&
>  	check_push_result testrepo $old_commit heads/master
>  '

      parent reply	other threads:[~2018-05-11  3:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-10 14:01 [PATCH 1/2] t5516-fetch-push: fix 'push with dry-run' test SZEDER Gábor
2018-05-10 14:01 ` [PATCH 2/2] t5516-fetch-push: fix broken &&-chain SZEDER Gábor
2018-05-11  3:32 ` Junio C Hamano [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqmux6hnop.fsf@gitster-ct.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=szeder.dev@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.