[v2,2/4] t5509: initialized `pushee` as bare repository
diff mbox series

Message ID 5c749e044a3846d7757b198f29d984d181636556.1582410908.git.gitgitgadget@gmail.com
State New
Headers show
Series
  • receive.denyCurrentBranch: respect all worktrees
Related show

Commit Message

Elijah Newren via GitGitGadget Feb. 22, 2020, 10:35 p.m. UTC
From: Hariom Verma <hariom18599@gmail.com>

`receive.denyCurrentBranch` currently has a bug where it allows pushing
into non-bare repository using namespaces as long as it does not have any
commits. This would cause t5509 to fail once that bug is fixed because it
pushes into an unborn current branch.

In t5509, no operations are performed inside `pushee`, as it is only a
target for `git push` and `git ls-remote` calls. Therefore it does not
need to have a worktree. So, it is safe to change `pushee` to a bare
repository.

Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Hariom Verma <hariom18599@gmail.com>
---
 t/t5509-fetch-push-namespaces.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Junio C Hamano Feb. 23, 2020, 6:24 a.m. UTC | #1
"Hariom Verma via GitGitGadget" <gitgitgadget@gmail.com> writes:

> From: Hariom Verma <hariom18599@gmail.com>
> Subject: Re: [PATCH v2 2/4] t5509: initialized `pushee` as bare repository

s/initialized/initialize/ at least, perhaps.

Subject: [PATCH v2 2/4] t5509: use a bare repository for test push target

may be easier to understand, though.  Then the first paragraph of
the body of the proposed message, which gives an excellent
description of how the current tests rely on a bug that we plan to
fix in a later step of the series, explains why we do not want to
push into a non-bare repository.

> `receive.denyCurrentBranch` currently has a bug where it allows pushing
> into non-bare repository using namespaces as long as it does not have any
> commits. This would cause t5509 to fail once that bug is fixed because it
> pushes into an unborn current branch.

And then you give a good description why not just it is safe, but it
makes more sense.  Very well explained.

> In t5509, no operations are performed inside `pushee`, as it is only a
> target for `git push` and `git ls-remote` calls. Therefore it does not
> need to have a worktree. So, it is safe to change `pushee` to a bare
> repository.

>
> Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> Signed-off-by: Hariom Verma <hariom18599@gmail.com>
> ---
>  t/t5509-fetch-push-namespaces.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/t/t5509-fetch-push-namespaces.sh b/t/t5509-fetch-push-namespaces.sh
> index 75cbfcc392c..e3975bd21de 100755
> --- a/t/t5509-fetch-push-namespaces.sh
> +++ b/t/t5509-fetch-push-namespaces.sh
> @@ -20,7 +20,7 @@ test_expect_success setup '
>  	) &&
>  	commit0=$(cd original && git rev-parse HEAD^) &&
>  	commit1=$(cd original && git rev-parse HEAD) &&
> -	git init pushee &&
> +	git init --bare pushee &&
>  	git init puller
>  '

Patch
diff mbox series

diff --git a/t/t5509-fetch-push-namespaces.sh b/t/t5509-fetch-push-namespaces.sh
index 75cbfcc392c..e3975bd21de 100755
--- a/t/t5509-fetch-push-namespaces.sh
+++ b/t/t5509-fetch-push-namespaces.sh
@@ -20,7 +20,7 @@  test_expect_success setup '
 	) &&
 	commit0=$(cd original && git rev-parse HEAD^) &&
 	commit1=$(cd original && git rev-parse HEAD) &&
-	git init pushee &&
+	git init --bare pushee &&
 	git init puller
 '