public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
* [PATCH] t1900: cover linked worktrees and separate git dirs
       [not found] <20260318203547.39972-1-jerrywang183.ref@yahoo.com>
@ 2026-03-18 20:35 ` Jialong Wang
  2026-03-21 18:32   ` Tian Yuchen
  0 siblings, 1 reply; 2+ messages in thread
From: Jialong Wang @ 2026-03-18 20:35 UTC (permalink / raw)
  To: git

Add repo-info coverage for repositories accessed through a linked\nworktree and through a worktree created with --separate-git-dir.\n\nThese layouts are already supported by the current implementation, but\nare not exercised by t1900-repo-info.sh yet. Cover both the lines and\nnul output formats for layout.bare and layout.shallow in these cases.

Signed-off-by: Jialong Wang <jerrywang183@yahoo•com>
---
 t/t1900-repo-info.sh | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/t/t1900-repo-info.sh b/t/t1900-repo-info.sh
index a9eb07abe8..f85ed232c2 100755
--- a/t/t1900-repo-info.sh
+++ b/t/t1900-repo-info.sh
@@ -69,6 +69,45 @@ test_repo_info 'object.format = sha1 is retrieved correctly' \
 test_repo_info 'object.format = sha256 is retrieved correctly' \
 	'git init --object-format=sha256' 'sha256' 'object.format' 'sha256'
 
+test_expect_success 'setup linked worktree' '
+	git init main &&
+	git -C main worktree add ../linked
+'
+
+test_expect_success 'linked worktree layout values are retrieved correctly in lines format' '
+	cat >expect <<-\EOF &&
+	layout.bare=false
+	layout.shallow=false
+	EOF
+	git -C linked repo info layout.bare layout.shallow >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'linked worktree layout values are retrieved correctly in nul format' '
+	printf "layout.bare\nfalse\0layout.shallow\nfalse\0" >expect &&
+	git -C linked repo info --format=nul layout.bare layout.shallow >actual &&
+	test_cmp_bin expect actual
+'
+
+test_expect_success 'setup repository created with --separate-git-dir' '
+	git init --separate-git-dir=separate.git separate-worktree
+'
+
+test_expect_success 'separate-git-dir layout values are retrieved correctly in lines format' '
+	cat >expect <<-\EOF &&
+	layout.bare=false
+	layout.shallow=false
+	EOF
+	git -C separate-worktree repo info layout.bare layout.shallow >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'separate-git-dir layout values are retrieved correctly in nul format' '
+	printf "layout.bare\nfalse\0layout.shallow\nfalse\0" >expect &&
+	git -C separate-worktree repo info --format=nul layout.bare layout.shallow >actual &&
+	test_cmp_bin expect actual
+'
+
 test_expect_success 'values returned in order requested' '
 	cat >expect <<-\EOF &&
 	layout.bare=false
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] t1900: cover linked worktrees and separate git dirs
  2026-03-18 20:35 ` [PATCH] t1900: cover linked worktrees and separate git dirs Jialong Wang
@ 2026-03-21 18:32   ` Tian Yuchen
  0 siblings, 0 replies; 2+ messages in thread
From: Tian Yuchen @ 2026-03-21 18:32 UTC (permalink / raw)
  To: Jialong Wang, git

Hi Jialong,

Thanks for the patch.

On 3/19/26 04:35, Jialong Wang wrote:
> Add repo-info coverage for repositories accessed through a linked\nworktree and through a worktree created with --separate-git-dir.\n\nThese layouts are already supported by the current implementation, but\nare not exercised by t1900-repo-info.sh yet. Cover both the lines and\nnul output formats for layout.bare and layout.shallow in these cases.
> 
> Signed-off-by: Jialong Wang <jerrywang183@yahoo•com>
> ---

I noticed that line breaks in the submitted data are escaped as \n 
characters. Even if you send the patch using a different tool, you 
should still check the mailing list to see how it looks, right? ;)

>   t/t1900-repo-info.sh | 39 +++++++++++++++++++++++++++++++++++++++
>   1 file changed, 39 insertions(+)
> 
> diff --git a/t/t1900-repo-info.sh b/t/t1900-repo-info.sh
> index a9eb07abe8..f85ed232c2 100755
> --- a/t/t1900-repo-info.sh
> +++ b/t/t1900-repo-info.sh
> @@ -69,6 +69,45 @@ test_repo_info 'object.format = sha1 is retrieved correctly' \
>   test_repo_info 'object.format = sha256 is retrieved correctly' \
>   	'git init --object-format=sha256' 'sha256' 'object.format' 'sha256'
>   
> +test_expect_success 'setup linked worktree' '
> +	git init main &&
> +	git -C main worktree add ../linked
> +'
> +
> +test_expect_success 'linked worktree layout values are retrieved correctly in lines format' '
> +	cat >expect <<-\EOF &&
> +	layout.bare=false
> +	layout.shallow=false
> +	EOF
> +	git -C linked repo info layout.bare layout.shallow >actual &&
> +	test_cmp expect actual
> +'
> +
> +test_expect_success 'linked worktree layout values are retrieved correctly in nul format' '
> +	printf "layout.bare\nfalse\0layout.shallow\nfalse\0" >expect &&
> +	git -C linked repo info --format=nul layout.bare layout.shallow >actual &&
> +	test_cmp_bin expect actual
> +'
> +
> +test_expect_success 'setup repository created with --separate-git-dir' '
> +	git init --separate-git-dir=separate.git separate-worktree
> +'
> +
> +test_expect_success 'separate-git-dir layout values are retrieved correctly in lines format' '
> +	cat >expect <<-\EOF &&
> +	layout.bare=false
> +	layout.shallow=false
> +	EOF
> +	git -C separate-worktree repo info layout.bare layout.shallow >actual &&
> +	test_cmp expect actual
> +'
> +
> +test_expect_success 'separate-git-dir layout values are retrieved correctly in nul format' '
> +	printf "layout.bare\nfalse\0layout.shallow\nfalse\0" >expect &&
> +	git -C separate-worktree repo info --format=nul layout.bare layout.shallow >actual &&
> +	test_cmp_bin expect actual
> +'
> +
>   test_expect_success 'values returned in order requested' '
>   	cat >expect <<-\EOF &&
>   	layout.bare=false

The patch itself looks fine. The 'git repo info' command seems to be a 
relatively new one, so I think adding a test script is necessary...

...except one thing to mention:

 > +test_expect_success 'setup linked worktree' '
 > +	git init main &&
 > +	git -C main worktree add ../linked

Since the main repo here is an empty, can a linked worktree be created? 
Here, HEAD does not point to a valid object, and there is no commit 
available checkout. I think it would be better to create a commit using 
test_commit first.

Regards,

Yuchen



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-03-21 18:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20260318203547.39972-1-jerrywang183.ref@yahoo.com>
2026-03-18 20:35 ` [PATCH] t1900: cover linked worktrees and separate git dirs Jialong Wang
2026-03-21 18:32   ` Tian Yuchen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox