diff options
author | Rafael Silva <rafaeloliveira.cs@gmail.com> | 2021-01-27 09:03:10 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-01-30 09:57:40 -0800 |
commit | 076b444a6206bd69370efabb5d6d273d4b383a0b (patch) | |
tree | 4b88c218d25176d37ea352754b0be75e68da0c14 /t/t4206-log-follow-harder-copies.sh | |
parent | worktree: teach `list` to annotate prunable worktree (diff) | |
download | tgif-076b444a6206bd69370efabb5d6d273d4b383a0b.tar.xz |
worktree: teach `list` verbose mode
"git worktree list" annotates each worktree according to its state such
as "prunable" or "locked", however it is not immediately obvious why
these worktrees are being annotated. For prunable worktrees a reason
is available that is returned by should_prune_worktree() and for locked
worktrees a reason might be available provided by the user via `lock`
command.
Let's teach "git worktree list" a --verbose mode that outputs the reason
why the worktrees are being annotated. The reason is a text that can take
virtually any size and appending the text on the default columned format
will make it difficult to extend the command with other annotations and
not fit nicely on the screen. In order to address this shortcoming the
annotation is then moved to the next line indented followed by the reason
If the reason is not available the annotation stays on the same line as
the worktree itself.
The output of "git worktree list" with verbose becomes like so:
$ git worktree list --verbose
...
/path/to/locked-no-reason acb124 [branch-a] locked
/path/to/locked-with-reason acc125 [branch-b]
locked: worktree with a locked reason
/path/to/prunable-reason ace127 [branch-d]
prunable: gitdir file points to non-existent location
...
Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Rafael Silva <rafaeloliveira.cs@gmail.com>
Reviewed-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4206-log-follow-harder-copies.sh')
0 files changed, 0 insertions, 0 deletions