From: David Turner <dturner@twopensource.com>
To: Johan Herland <johan@herland.net>
Cc: Git mailing list <git@vger.kernel.org>,
Eric Sunshine <sunshine@sunshineco.com>
Subject: Re: [PATCH v4 2/2] notes: handle multiple worktrees
Date: Mon, 03 Aug 2015 14:46:23 -0400 [thread overview]
Message-ID: <1438627583.4439.11.camel@twopensource.com> (raw)
In-Reply-To: <CALKQrgcrpQ2j2J-65RJhN7owwmSzhqyGinGjUbicFbY=m82tNA@mail.gmail.com>
On Sat, 2015-08-01 at 15:51 +0200, Johan Herland wrote:
> On Sat, Aug 1, 2015 at 12:11 AM, David Turner <dturner@twopensource.com> wrote:
> > Before creating NOTES_MERGE_REF, check NOTES_MERGE_REF using
> > find_shared_symref and die if we find one. This prevents simultaneous
> > merges to the same notes branch from different worktrees.
> >
> > Signed-off-by: David Turner <dturner@twopensource.com>
> > ---
> > builtin/notes.c | 5 +++
> > t/t3320-notes-merge-worktrees.sh | 72 ++++++++++++++++++++++++++++++++++++++++
> > 2 files changed, 77 insertions(+)
> > create mode 100755 t/t3320-notes-merge-worktrees.sh
> >
> > diff --git a/builtin/notes.c b/builtin/notes.c
> > index 63f95fc..e4dda79 100644
> > --- a/builtin/notes.c
> > +++ b/builtin/notes.c
> > @@ -19,6 +19,7 @@
> > #include "string-list.h"
> > #include "notes-merge.h"
> > #include "notes-utils.h"
> > +#include "branch.h"
> >
> > static const char * const git_notes_usage[] = {
> > N_("git notes [--ref <notes-ref>] [list [<object>]]"),
> > @@ -825,10 +826,14 @@ static int merge(int argc, const char **argv, const char *prefix)
> > update_ref(msg.buf, default_notes_ref(), result_sha1, NULL,
> > 0, UPDATE_REFS_DIE_ON_ERR);
> > else { /* Merge has unresolved conflicts */
> > + char *existing;
> > /* Update .git/NOTES_MERGE_PARTIAL with partial merge result */
> > update_ref(msg.buf, "NOTES_MERGE_PARTIAL", result_sha1, NULL,
> > 0, UPDATE_REFS_DIE_ON_ERR);
> > /* Store ref-to-be-updated into .git/NOTES_MERGE_REF */
> > + existing = find_shared_symref("NOTES_MERGE_REF", default_notes_ref());
>
> Please confirm my assumption here: existing originally comes from a
> strbuf_detach(), so it's the caller's (i.e. our) responsibility to
> free() it, but we don't care, as we just die()d anyway. Correct?
Confirmed.
I will fix the other issues you reported.
next prev parent reply other threads:[~2015-08-03 18:46 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-31 22:11 [PATCH v4 1/2] worktrees: add find_shared_symref David Turner
2015-07-31 22:11 ` [PATCH v4 2/2] notes: handle multiple worktrees David Turner
2015-08-01 13:51 ` Johan Herland
2015-08-03 18:46 ` David Turner [this message]
2015-07-31 22:20 ` [PATCH v4 1/2] worktrees: add find_shared_symref Eric Sunshine
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1438627583.4439.11.camel@twopensource.com \
--to=dturner@twopensource.com \
--cc=git@vger.kernel.org \
--cc=johan@herland.net \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).