From: Theodore Tso <tytso@mit.edu>
To: Martin Langhoff <martin.langhoff@gmail.com>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>, git@vger.kernel.org
Subject: Re: Conflict editing
Date: Sun, 4 Mar 2007 23:04:06 -0500 [thread overview]
Message-ID: <20070305040406.GB26781@thunk.org> (raw)
In-Reply-To: <46a038f90703041359w3cf5ff14n85445396c0ffc422@mail.gmail.com>
On Mon, Mar 05, 2007 at 10:59:33AM +1300, Martin Langhoff wrote:
> I find xxdiff much better than meld, tkdiff and kdiff -- but maybe I
> just don't know how to use them, or they have gotten better in the
> last few months.
I wasn't familiar with xxdiff until just now, but having played with
it, kdiff3 is much easier for a beginner to use. The toolbar makes it
a lot easier to select from one or the other, I find the keyboard
accellerators to be much more intuitive (although I suppose if you are
a vi or nethack fan the H, J, K keys will make sense to you :-).
In addition, with xxdiff it gives the user way too many options about
whether you want to save the left, right, or center, or merged
windows. That makes sense maybe if you are doing something completely
general, but too many options is a net negative, not a feature. I
prefer kdiff3, where you simply hit the save icon, and it saves the
reconciled merged file to the specified output file (which the
git-mergetool specified to kdiff3 on the command-line). So from the
workflow perspective, kdiff3 fits in much more cleanly than xxdiff.
The one advantage xxdiff has that I can see (and maybe that's why you
like it?) is that it has the -U feature which allows it to pick apart
the merge conflict markers and so you can use it fairly easily simply
by saying "xxdiff -U hello.c". With kdiff3 it's a lot more
complicated to invoke off the command-line, with something like:
kdiff3 --auto hello.c.BASE hello.c.LOCAL hello.c.REMOTE -o hello.c
...but that's why you have a shell script to keep you away from such
nastyness. All I need to do with my mergetool script is to type, "git
mergetool" to merge all unresolved merge conflicts, or "git mergetool
hello.c" if I only want to resolve conflicts in a single file.
> I had written (and posted) a git-xxdiff earlier. A (minor) concern is
> that from a packaging and dependencies perspective, the packager has
> to suggest *all* of them, and still a default install may not work at
> all -- it might be a good idea to suggest what to install in the error
> message. Or depend on all of them (yuck!).
Depending on all of them is definitely a bad idea. Suggesting all of
them doesn't seem to be a big issue, and I don't see what's the
problem if git-mergetool can't find a graphical resolver; it can
always fall back to opening the file in an editor and asking the user
to resolve the conflict manually.
> One thing I _don't_ want as a user is to see the graphical mergers
> starting by default. Most merges are trivial, and I can just edit them
> in emacs or vi.
Well, git will handle most merges automatially for you anyway. You
would only use git mergetool to handle the merge conflicts.
- Ted
next prev parent reply other threads:[~2007-03-05 4:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-04 12:43 Conflict editing Johannes Schindelin
2007-03-04 13:29 ` Johannes Schindelin
2007-03-04 18:10 ` Theodore Tso
2007-03-04 21:59 ` Martin Langhoff
2007-03-05 4:04 ` Theodore Tso [this message]
2007-03-05 4:48 ` Martin Langhoff
2007-03-04 23:40 ` Shawn O. Pearce
2007-03-05 6:25 ` Brian Gernhardt
2007-03-05 11:25 ` Johannes Schindelin
2007-03-05 15:07 ` Uwe Kleine-König
2007-03-05 19:27 ` Brian Gernhardt
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=20070305040406.GB26781@thunk.org \
--to=tytso@mit.edu \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=martin.langhoff@gmail.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).