git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Catalin Marinas" <catalin.marinas@gmail.com>
To: "Junio C Hamano" <junkio@cox.net>
Cc: git@vger.kernel.org
Subject: Re: Unresolved issues #3
Date: Fri, 18 Aug 2006 10:56:50 +0100	[thread overview]
Message-ID: <b0943d9e0608180256n6b7077b5r6e854b49d85afcc1@mail.gmail.com> (raw)
In-Reply-To: <7vbqqics3g.fsf@assigned-by-dhcp.cox.net>

On 18/08/06, Junio C Hamano <junkio@cox.net> wrote:
> Catalin Marinas <catalin.marinas@arm.com> writes:
> > In StGIT I can configure the merge command and I currently use the
> > attached script (I need to add it to the StGIT repository). It tries
> > diff3 first and, if that fails, invokes emacs' merge (can use xxdiff
> > as well). It also checks whether the file was modified in case I want
> > to exit and solve the conflict later (maybe after getting conflict
> > information for the other files).
>
> Thanks.  That is interesting.  However, the workflow Martin
> wants to use this is a bit different from this.  He wants
> regular diff3/merge to leave conflicted result and have "xxdiff
> -U" to sort out the resulting mess (I do that manually myself
> but without any wrapper).

The problem with this approach is that you lose the ancestor
information. You want "diff3 -E" command to not report conflicts if
the changes are the same but the output no longer has the ancestor
information. The -A option would keep the ancestor (and use "xxdiff
--unmerge3" instead) but it always reports a conflict even if the
changes are the same. Are there any diff3 options I missed?

That's why I prefer to explicitely pass the 3 files to either emacs or xxdiff.

> > # default merger
> > if os.system('diff3 -L current -L ancestor -L patched -m -E '
> >              '"%s" "%s" "%s" > "%s"'
> >              % (branch1, ancestor, branch2, output)):
> >     # interactive merge
> >     if os.path.exists(output):
> >         mtime = os.path.getmtime(output)
> >     else:
> >         mtime = 0
>
> I wonder why you do not error out when "if os.path.exists(output)"
> does not hold true; you are redirecting into it, so the possibilities
> are:

You are right. I was thinking about the file removed in the current
branch but modified in the other. However, this would never invoke
diff3.

Thanks.

-- 
Catalin

  reply	other threads:[~2006-08-18  9:56 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-18  4:09 Unresolved issues #3 Junio C Hamano
2006-08-18  4:49 ` A Large Angry SCM
2006-08-18 14:49   ` Nicolas Pitre
2006-08-18 14:56     ` A Large Angry SCM
2006-08-18 15:30       ` Nicolas Pitre
2006-08-19  4:04         ` A Large Angry SCM
2006-08-20 23:10           ` Nicolas Pitre
2006-08-20 23:26             ` Junio C Hamano
2006-08-21  4:05               ` A Large Angry SCM
2006-08-18  5:10 ` Jeff King
2006-08-18  8:54 ` Catalin Marinas
2006-08-18  9:26   ` Junio C Hamano
2006-08-18  9:56     ` Catalin Marinas [this message]
2006-08-18  8:56 ` Jakub Narebski
2006-08-18 16:40 ` Aneesh Kumar K.V
2006-08-18 16:48   ` Jakub Narebski
2006-08-18 17:03     ` Aneesh Kumar K.V
2006-08-18 17:09       ` Jakub Narebski
2006-08-18 17:57 ` Jon Loeliger
2006-08-20 22:17   ` Junio C Hamano
2006-08-21  2:09     ` [PATCH] daemon: prepare for multiple services Junio C Hamano
2006-08-21  2:09     ` [PATCH] daemon: add upload-tar service Junio C Hamano
2006-08-23 23:19 ` Unresolved issues #3 Martin Langhoff
2006-08-25 21:22 ` Jakub Narebski
2006-10-06  6:26 ` Unresolved issues #4 Junio C Hamano
2006-10-06 10:56   ` Jakub Narebski
2006-10-06 16:11     ` Shawn Pearce
2006-10-06 16:04   ` Jon Loeliger
2006-10-06 16:12   ` Shawn Pearce
2006-10-06 16:53   ` A Large Angry SCM

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=b0943d9e0608180256n6b7077b5r6e854b49d85afcc1@mail.gmail.com \
    --to=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    /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).