-
Notifications
You must be signed in to change notification settings - Fork 165
Description
Currently, the receive.denyCurrentBranch config setting determines what Git should do when pushing a branch into a non-bare repository when said branch is checked out.
However, this setting was forgotten when the git worktree command was introduced: only the main worktree's current branch is respected.
For interested first contributors: use git grep -i receive.denycurrentbranch and follow the trail to find the code locations where that config setting modifies behavior. Then look for the code that prevents branches to be checked out in a worktree when they are already checked out in another worktree (git grep "is already checked out at" will lead you there). Then imitate that, to address this issue. (And throw in a test case or two, imitating the test cases in t/ that already test that config setting.)