On Fri, Feb 14, 2020 at 8:33 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > If the series is fixing two bugs, perhaps 2/3 can first fix it for a > primary worktree case by seeing what HEAD symref for the primary > worktree points at is the target of a push without iterating over > all the worktrees, have the test change in 2/3 (i.e. "fixing the > 'unborn' case revealed a wrong expectation in an existing test"), > and a couple of new tests to see what a push from sideways would do > to an unborn branch that is checked out in the primary worktree when > .denyCurrentBranch is and isn't in effect. > > Then 3/3 can use the same logic to see if one worktree is OK with > the proposed ref update by the push used in 2/3 (which no longer > uses refs_resolve_unsafe()') to check for all worktrees. The new > tests introduced in 2/3 would be extended to see what happens when > the unborn branch getting updated by the push happens to be checked > out in a secondary worktree. As far as my understanding goes, what we want is: 1) fixing `.denyCurrentBranch` for unborn branches in primary worktree. (2/3) 2) writing test (expect it to fail if `unborn` & 'non-bare' case) (2/3) 3) making `.denyCurrentBranch` respect all worktrees. (3/3) 4) extending tests written in step 2 for secondary worktrees. (3/3) Correct me if I'm wrong. As I'm not entirely familiar with working and structure of `.denyCurrentBranch`. So I might need more explicit explanation. Thanks, Hariom