Re: [PATCH v4 2/2] notes: handle multiple worktrees

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2015-08-01 at 15:51 +0200, Johan Herland wrote:
> On Sat, Aug 1, 2015 at 12:11 AM, David Turner <dturner@xxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxx>
> > ---
> >  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.

--
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



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]