diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-04-04 10:56:25 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-04-04 10:56:25 -0700 |
commit | 7c6d8ee8fa3be77d4bf4d38f59e866a0af1931f8 (patch) | |
tree | e294c0e59efcbaa48f051c220a8bdfdc66bfd211 /t | |
parent | Merge branch 'jc/coding-guidelines-decl-in-for-loop' (diff) | |
parent | worktree: add -z option for list subcommand (diff) | |
download | tgif-7c6d8ee8fa3be77d4bf4d38f59e866a0af1931f8.tar.xz |
Merge branch 'pw/worktree-list-with-z'
"git worktree list --porcelain" did not c-quote pathnames and lock
reasons with unsafe bytes correctly, which is worked around by
introducing NUL terminated output format with "-z".
* pw/worktree-list-with-z:
worktree: add -z option for list subcommand
Diffstat (limited to 't')
-rwxr-xr-x | t/t2402-worktree-list.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/t/t2402-worktree-list.sh b/t/t2402-worktree-list.sh index c8a5a0aac6..79e0fce2d9 100755 --- a/t/t2402-worktree-list.sh +++ b/t/t2402-worktree-list.sh @@ -64,6 +64,25 @@ test_expect_success '"list" all worktrees --porcelain' ' test_cmp expect actual ' +test_expect_success '"list" all worktrees --porcelain -z' ' + test_when_finished "rm -rf here _actual actual expect && + git worktree prune" && + printf "worktree %sQHEAD %sQbranch %sQQ" \ + "$(git rev-parse --show-toplevel)" \ + $(git rev-parse HEAD --symbolic-full-name HEAD) >expect && + git worktree add --detach here main && + printf "worktree %sQHEAD %sQdetachedQQ" \ + "$(git -C here rev-parse --show-toplevel)" \ + "$(git rev-parse HEAD)" >>expect && + git worktree list --porcelain -z >_actual && + nul_to_q <_actual >actual && + test_cmp expect actual +' + +test_expect_success '"list" -z fails without --porcelain' ' + test_must_fail git worktree list -z +' + test_expect_success '"list" all worktrees with locked annotation' ' test_when_finished "rm -rf locked unlocked out && git worktree prune" && git worktree add --detach locked main && |