git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Hariom Verma via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, Hariom Verma <hariom18599@gmail.com>
Subject: Re: [PATCH v2 4/4] receive.denyCurrentBranch: respect all worktrees
Date: Sat, 22 Feb 2020 22:18:24 -0800	[thread overview]
Message-ID: <xmqqftf1su6n.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <61e5f75a6f9a8579271870f6b8b95021055a96ad.1582410908.git.gitgitgadget@gmail.com> (Hariom Verma via GitGitGadget's message of "Sat, 22 Feb 2020 22:35:07 +0000")

"Hariom Verma via GitGitGadget" <gitgitgadget@gmail.com> writes:

> diff --git a/t/t5509-fetch-push-namespaces.sh b/t/t5509-fetch-push-namespaces.sh
> index c89483fdba2..6270fb7b576 100755
> --- a/t/t5509-fetch-push-namespaces.sh
> +++ b/t/t5509-fetch-push-namespaces.sh
> @@ -152,7 +152,7 @@ test_expect_success 'clone chooses correct HEAD (v2)' '
>  	test_cmp expect actual
>  '
>  
> -test_expect_failure 'denyCurrentBranch and unborn branch with ref namespace' '
> +test_expect_success 'denyCurrentBranch and unborn branch with ref namespace' '
>  	cd original &&
>  	git init unborn &&
>  	git remote add unborn-namespaced "ext::git --namespace=namespace %s unborn" &&
> diff --git a/t/t5516-fetch-push.sh b/t/t5516-fetch-push.sh
> index c81ca360ac4..49982b0fd90 100755
> --- a/t/t5516-fetch-push.sh
> +++ b/t/t5516-fetch-push.sh
> @@ -1712,4 +1712,15 @@ test_expect_success 'updateInstead with push-to-checkout hook' '
>  	)
>  '
>  
> +test_expect_success 'denyCurrentBranch and worktrees' '
> +	git worktree add new-wt &&
> +	git clone . cloned &&
> +	test_commit -C cloned first &&
> +	test_config receive.denyCurrentBranch refuse &&
> +	test_must_fail git -C cloned push origin HEAD:new-wt &&
> +	test_config receive.denyCurrentBranch updateInstead &&
> +	git -C cloned push origin HEAD:new-wt &&
> +	test_must_fail git -C cloned push --delete origin new-wt
> +'
> +
>  test_done

This adds one new test and also flips a test that was added in a
separate step that expected a failure to expect success, which looks
a bit strange.

For a series this small, having a test that demonstrates that the
updated code works as expected together with the fix to the code in
a single patch is easier to manage.  After applying a single
test+fix patch, you can easily apply the same patch except for the
test part in reverse on top, if you need to see in what way the code
without the change breaks by running the test.

On a truly large fix, sometimes it may make sense to add a failing
test and nothing else and then a separate step that changes the code
and flips the expectation of the test from failure->success, but I
think a change this size is easier to handle without such an artificial
split.

Thanks.

  reply	other threads:[~2020-02-23  6:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-13 18:59 [PATCH 0/3] [GSoC] receive.denyCurrentBranch: respect all worktrees Hariom Verma via GitGitGadget
2020-02-13 18:59 ` [PATCH 1/3] get_main_worktree(): allow it to be called in the Git directory Hariom Verma via GitGitGadget
2020-02-13 18:59 ` [PATCH 2/3] t5509: initialized `pushee` as bare repository Hariom Verma via GitGitGadget
2020-02-13 20:14   ` Junio C Hamano
2020-02-13 20:34     ` Junio C Hamano
2020-02-14 11:59     ` Johannes Schindelin
2020-02-14 15:03       ` Junio C Hamano
2020-02-15 21:52         ` Hariom verma
2020-02-16 23:49           ` Junio C Hamano
2020-02-22 22:54             ` Hariom verma
2020-02-13 18:59 ` [PATCH 3/3] receive.denyCurrentBranch: respect all worktrees Hariom Verma via GitGitGadget
2020-02-22 22:35 ` [PATCH v2 0/4] [GSoC] " Hariom Verma via GitGitGadget
2020-02-22 22:35   ` [PATCH v2 1/4] get_main_worktree(): allow it to be called in the Git directory Hariom Verma via GitGitGadget
2020-02-22 22:35   ` [PATCH v2 2/4] t5509: initialized `pushee` as bare repository Hariom Verma via GitGitGadget
2020-02-23  6:24     ` Junio C Hamano
2020-02-22 22:35   ` [PATCH v2 3/4] bug: denyCurrentBranch and unborn branch with ref namespace Hariom Verma via GitGitGadget
2020-02-23  6:10     ` Junio C Hamano
2020-02-22 22:35   ` [PATCH v2 4/4] receive.denyCurrentBranch: respect all worktrees Hariom Verma via GitGitGadget
2020-02-23  6:18     ` Junio C Hamano [this message]
2020-02-23 18:57   ` [PATCH v3 0/3] [GSoC] " Hariom Verma via GitGitGadget
2020-02-23 18:57     ` [PATCH v3 1/3] get_main_worktree(): allow it to be called in the Git directory Hariom Verma via GitGitGadget
2020-02-24  1:42       ` Eric Sunshine
2020-02-24 11:09         ` Hariom verma
2020-02-24 17:00           ` Eric Sunshine
2020-02-24 18:58           ` Johannes Schindelin
2020-02-24 22:27             ` Eric Sunshine
2020-02-27 15:58               ` Johannes Schindelin
2020-02-24 19:13           ` Junio C Hamano
2020-02-23 18:57     ` [PATCH v3 2/3] t5509: use a bare repository for test push target Hariom Verma via GitGitGadget
2020-02-23 18:57     ` [PATCH v3 3/3] receive.denyCurrentBranch: respect all worktrees Hariom Verma via GitGitGadget

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=xmqqftf1su6n.fsf@gitster-ct.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=hariom18599@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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).