diff options
author | Nickolai Belakovski <nbelakovski@gmail.com> | 2019-04-29 08:19:43 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-05-07 07:45:54 +0300 |
commit | ab3138146f9ce1d819cefab4515965604de76d9d (patch) | |
tree | 7349288594a6da0eb3d6dd0ae556fe6d6745a08c /t/t3203-branch-output.sh | |
parent | 2582083fa1830632e298727e973440907345267f (diff) |
branch: update output to include worktree info
The output of git branch is modified to mark branches checked out in a
linked worktree with a "+" and color them in cyan (in contrast to the
current branch, which will still be denoted with a "*" and colored in green)
This is meant to communicate to the user that the branches that are
marked or colored will behave differently from other branches if the user
attempts to check them out or delete them, since branches checked out in
another worktree cannot be checked out or deleted.
Signed-off-by: Nickolai Belakovski <nbelakovski@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3203-branch-output.sh')
-rwxr-xr-x | t/t3203-branch-output.sh | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/t/t3203-branch-output.sh b/t/t3203-branch-output.sh index be55148930..a3436bf25a 100755 --- a/t/t3203-branch-output.sh +++ b/t/t3203-branch-output.sh @@ -136,11 +136,13 @@ test_expect_success 'git branch `--show-current` works properly with worktrees' branch-two EOF git checkout branch-one && - git worktree add worktree branch-two && + git worktree add worktree_dir branch-two && { git branch --show-current && - git -C worktree branch --show-current + git -C worktree_dir branch --show-current } >actual && + rm -r worktree_dir && + git worktree prune && test_cmp expect actual ' @@ -284,6 +286,24 @@ test_expect_success 'git branch --format option' ' test_i18ncmp expect actual ' +test_expect_success 'worktree colors correct' ' + cat >expect <<-EOF && + * <GREEN>(HEAD detached from fromtag)<RESET> + ambiguous<RESET> + branch-one<RESET> + + <CYAN>branch-two<RESET> + master<RESET> + ref-to-branch<RESET> -> branch-one + ref-to-remote<RESET> -> origin/branch-one + EOF + git worktree add worktree_dir branch-two && + git branch --color >actual.raw && + rm -r worktree_dir && + git worktree prune && + test_decode_color <actual.raw >actual && + test_i18ncmp expect actual +' + test_expect_success "set up color tests" ' echo "<RED>master<RESET>" >expect.color && echo "master" >expect.bare && |