Merge branch 'rs/worktree-list-show-locked'
"git worktree list" now shows if each worktree is locked. This possibly may open us to show other kinds of states in the future. * rs/worktree-list-show-locked: worktree: teach `list` to annotate locked worktree
This commit is contained in:
commit
26bb5437f6
@ -96,8 +96,9 @@ list::
|
||||
|
||||
List details of each working tree. The main working tree is listed first,
|
||||
followed by each of the linked working trees. The output details include
|
||||
whether the working tree is bare, the revision currently checked out, and the
|
||||
branch currently checked out (or "detached HEAD" if none).
|
||||
whether the working tree is bare, the revision currently checked out, the
|
||||
branch currently checked out (or "detached HEAD" if none), and "locked" if
|
||||
the worktree is locked.
|
||||
|
||||
lock::
|
||||
|
||||
|
@ -676,8 +676,11 @@ static void show_worktree(struct worktree *wt, int path_maxlen, int abbrev_len)
|
||||
} else
|
||||
strbuf_addstr(&sb, "(error)");
|
||||
}
|
||||
printf("%s\n", sb.buf);
|
||||
|
||||
if (!is_main_worktree(wt) && worktree_lock_reason(wt))
|
||||
strbuf_addstr(&sb, " locked");
|
||||
|
||||
printf("%s\n", sb.buf);
|
||||
strbuf_release(&sb);
|
||||
}
|
||||
|
||||
|
@ -61,6 +61,16 @@ test_expect_success '"list" all worktrees --porcelain' '
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success '"list" all worktress with locked annotation' '
|
||||
test_when_finished "rm -rf locked unlocked out && git worktree prune" &&
|
||||
git worktree add --detach locked master &&
|
||||
git worktree add --detach unlocked master &&
|
||||
git worktree lock locked &&
|
||||
git worktree list >out &&
|
||||
grep "/locked *[0-9a-f].* locked$" out &&
|
||||
! grep "/unlocked *[0-9a-f].* locked$" out
|
||||
'
|
||||
|
||||
test_expect_success 'bare repo setup' '
|
||||
git init --bare bare1 &&
|
||||
echo "data" >file1 &&
|
||||
|
Loading…
Reference in New Issue
Block a user