Merge branch 'rj/avoid-switching-to-already-used-branch'

A few subcommands have been taught to stop users from working on a
branch that is being used in another worktree linked to the same
repository.

* rj/avoid-switching-to-already-used-branch:
  switch: reject if the branch is already checked out elsewhere (test)
  rebase: refuse to switch to a branch already checked out elsewhere (test)
  branch: fix die_if_checked_out() when ignore_current_worktree
  worktree: introduce is_shared_symref()
This commit is contained in:
Junio C Hamano
2023-03-19 15:03:11 -07:00
5 changed files with 89 additions and 37 deletions

View File

@@ -148,6 +148,12 @@ const struct worktree *find_shared_symref(struct worktree **worktrees,
const char *symref,
const char *target);
/*
* Returns true if a symref points to a ref in a worktree.
*/
int is_shared_symref(const struct worktree *wt,
const char *symref, const char *target);
/*
* Similar to head_ref() for all HEADs _except_ one from the current
* worktree, which is covered by head_ref().