Test the output of the `worktree list` command to show when
a linked worktree is locked and test to not mistakenly
mark main or unlocked worktrees.
Signed-off-by: Rafael Silva <redacted>
---
t/t2402-worktree-list.sh | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/t/t2402-worktree-list.sh b/t/t2402-worktree-list.sh
index 52585ec2aa..07bd9a3350 100755
--- a/t/t2402-worktree-list.sh
+++ b/t/t2402-worktree-list.sh
@@ -61,6 +61,19 @@ test_expect_success '"list" all worktrees --porcelain' '
test_cmp expect actual
'
+test_expect_success 'show locked worktree with (locked)' '
+ echo "$(git rev-parse --show-toplevel) $(git rev-parse --short HEAD) [$(git symbolic-ref --short HEAD)]" >expect &&
+ test_when_finished "rm -rf locked unlocked out actual expect && git worktree prune" &&
+ git worktree add --detach locked master &&
+ git worktree add --detach unlocked master &&
+ git worktree lock locked &&
+ echo "$(git -C locked rev-parse --show-toplevel) $(git rev-parse --short HEAD) (detached HEAD) (locked)" >>expect &&
+ echo "$(git -C unlocked rev-parse --show-toplevel) $(git rev-parse --short HEAD) (detached HEAD)" >>expect &&
+ git worktree list >out &&
+ sed "s/ */ /g" <out >actual &&
+ test_cmp expect actual
+'
+
test_expect_success 'bare repo setup' '
git init --bare bare1 &&
echo "data" >file1 &&
--
2.28.0.763.ge7086f1eef