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
next prev parent 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).