Much happier with this version. This makes
- git checkout refuse if a branch is under rebase or bisect
elsewhere
- git worktree add refuse if a branch is under rebase or bisect
- git branch -D refuse if a branch is under rebase or bisect.
This applies for single worktree case as well.
- git branch -M refuse if a branch is under rebase or bisect
(single worktree case as well)
[01/12] path.c: add git_common_path() and strbuf_git_common_path()
[02/12] worktree.c: store "id" instead of "git_dir"
[03/12] worktree.c: make find_shared_symref() return struct worktree *
[04/12] worktree.c: mark current worktree
[05/12] path.c: refactor and add worktree_git_path()
[06/12] wt-status.c: split rebase detection out of wt_status_get_state()
[07/12] wt-status.c: make wt_status_check_rebase() work on any worktree
[08/12] worktree.c: avoid referencing to worktrees[i] multiple times
[09/12] worktree.c: test if branch being rebased in another worktree
[10/12] wt-status.c: split bisect detection out of wt_status_get_state()
[11/12] worktree.c: test if branch being bisected in another worktree
[12/12] branch: do not rename a branch under bisect or rebase
Total 13 files changed, 335 insertions(+), 67 deletions(-)