David Turner <dturner@xxxxxxxxxxxxxxxx> writes: > Before creating NOTES_MERGE_REF, check NOTES_MERGE_REF using > die_if_shared_symref. This prevents simultaneous merges to the same > notes branch from different worktrees. > > Signed-off-by: David Turner <dturner@xxxxxxxxxxxxxxxx> > --- > > This version addresses Eric Sunshine's critiques of v1. It breaks out > the symref-checking functionality into die_if_shared_symref, leaving > die_if_checked_out to handle HEAD. > > --- > builtin/notes.c | 2 ++ > t/t3320-notes-merge-worktrees.sh | 71 ++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 73 insertions(+) > create mode 100755 t/t3320-notes-merge-worktrees.sh Hmm, is this the whole thing? Or is a prerequisite patch to add that "symref check" infrastructure missing on the receiving end? This is a tangent, but there is a bigger spanner in "bisect". It uses refs/bisect/* to keep track of the current bisection state, but that state is tied to a particular worktree, and it should not be shared across other worktrees. We need to reserve a part of refs/* hierarchy (e.g. refs/private/*) for per worktree private stuff and handle them just like we do per-worktree pseudorefs, or something like that. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html