This patch introduces a new information on the "git worktree list" command output to annotate when a worktree is locked with a "locked" text. The intent is to improve the user experience as the "git worktree remove" refuses to remove a locked worktree. By adding the "locked" annotation to the "git worktree list" command, the user would not attempt to remove a worktree or would know to use "git worktree remove -f -f <path>" to force a worktree removal. The output of the "worktree list" command becomes: $ git worktree list /path/to/main abc123 [master] /path/to/worktree 456def [brancha] /path/to/locked-worktree 123abc (detached HEAD) locked Changes since v2: * Regexes used to test the "locked" anotation are anchored and space is added between the worktree path and OID hex string to avoid false-positives and to ensure there is space between the worktree path and the OID. Changes since v1: * Drooped the parenthesis in "(locked)" to reduce the noise and allow easier extensions of more annotations design proposed in [2]. * Rewrite of the commit message with a much better one. * Simplification of the test added to `t2402` with only caring about the "locked" annotation at the end of the "worktree list" output. [2]: https://lore.kernel.org/git/CAPig+cQF6V8HNdMX5AZbmz3_w2WhSfA4SFfNhQqxXBqPXTZL+w@xxxxxxxxxxxxxx/ Thank you Junio C Hamano and Eric Sunshine for the detailed review and helping with this patch. Rafael Silva (1): worktree: teach `list` to annotate locked worktree Documentation/git-worktree.txt | 3 ++- builtin/worktree.c | 5 ++++- t/t2402-worktree-list.sh | 10 ++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) -- 2.29.0.rc0.253.gc238dab514