Re: [PATCH v2] notes: handle multiple worktrees
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 31, 2015, 18:46 UTC
- Message-ID
- <xmqq8u9w5fnd.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <1438364697-6647-1-git-send-email-dturner@twopensource.com>
David Turner <dturner@twopensource.com> writes:
Show 10 quoted lines
> 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@twopensource.com> > --- > > 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.
Show 6 quoted lines
> > --- > 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.