From: Kelvie Wong <hidden> Date: 2016-06-15 22:43:37
At work, I've been using a git-svn import for my daily workflow (still
somewhat of a git newbie, but now has come to the point where it's
tough to work without it), and while rebasing from svn (on a rather
old branch), I found that the mergetool option does not work too well
for me.
I am using version 1.5.3 and I have tried all of the different diff
tools (save opendiff) that are supported by git -- but in the middle
of a rebase, whenever I run the mergetool, the LOCAL, REMOTE, and BASE
temporary files that are created are all empty. The BACKUP file
remains, and still has the proper 3-way-merge conflict syntax (with
<<<< ==== >>>>) and such, but the other files are all empty -- and
thus the mergetool of choice does not read it (it shows up empty there
too, of course).
What could I do to fix this? I'm confident that there are conflicts
(git tells me so, and I end up manually going through all the files in
emacs anyways, but it's very tedious); or is there another tool that
reads the 3-way-merge syntax (the < = >'s) and lets me pick one or the
other, or do I have to write my own?
I know there's just something funky on my system, because someone else
doesn't seem to have this problem on his computer -- maybe it is
because I use the svn rebase, but it does that when I rebase onto
another branch too.
Thanks.
--
Kelvie
From: Pierre Habouzit <hidden> Date: 2016-06-15 22:43:37
On Thu, Sep 27, 2007 at 06:31:19PM +0000, Kelvie Wong wrote:
At work, I've been using a git-svn import for my daily workflow (still
somewhat of a git newbie, but now has come to the point where it's
tough to work without it), and while rebasing from svn (on a rather
old branch), I found that the mergetool option does not work too well
for me.
Which tool are you using ? kdiff3 ? I've noticed that it often fails
miserably, or worse, create bad merges silentely with it.
And as none of the other merge tool that are supported are able to
either do 3way merges, or have a decent UI (that definitely seems to be
exclusive features) I've given up on git-mergetool (and to be fair, it
sucks, because it could be _sooo_ useful sometimes).
--
·O· Pierre Habouzit
··O madcoder@debian.org
OOO http://www.madism.org
From: Russ Brown <hidden> Date: 2016-06-15 22:43:37
Pierre Habouzit wrote:
On Thu, Sep 27, 2007 at 06:31:19PM +0000, Kelvie Wong wrote:
quoted
At work, I've been using a git-svn import for my daily workflow (still
somewhat of a git newbie, but now has come to the point where it's
tough to work without it), and while rebasing from svn (on a rather
old branch), I found that the mergetool option does not work too well
for me.
Which tool are you using ? kdiff3 ? I've noticed that it often fails
miserably, or worse, create bad merges silentely with it.
And as none of the other merge tool that are supported are able to
either do 3way merges, or have a decent UI (that definitely seems to be
exclusive features) I've given up on git-mergetool (and to be fair, it
sucks, because it could be _sooo_ useful sometimes).
What about meld? That does 3-way merge, and the UI is fine.
--
Russ
From: Pierre Habouzit <hidden> Date: 2016-06-15 22:43:37
On Thu, Sep 27, 2007 at 07:00:39PM +0000, Russ Brown wrote:
Pierre Habouzit wrote:
quoted
On Thu, Sep 27, 2007 at 06:31:19PM +0000, Kelvie Wong wrote:
quoted
At work, I've been using a git-svn import for my daily workflow (still
somewhat of a git newbie, but now has come to the point where it's
tough to work without it), and while rebasing from svn (on a rather
old branch), I found that the mergetool option does not work too well
for me.
Which tool are you using ? kdiff3 ? I've noticed that it often fails
miserably, or worse, create bad merges silentely with it.
And as none of the other merge tool that are supported are able to
either do 3way merges, or have a decent UI (that definitely seems to be
exclusive features) I've given up on git-mergetool (and to be fair, it
sucks, because it could be _sooo_ useful sometimes).
What about meld? That does 3-way merge, and the UI is fine.
Indeed, it seems that since the last time I tested it, it now does
diff3 merging. I should reevaluate it :)
--
·O· Pierre Habouzit
··O madcoder@debian.org
OOO http://www.madism.org
From: Jeff King <hidden> Date: 2016-06-15 22:43:37
On Thu, Sep 27, 2007 at 08:57:07PM +0200, Pierre Habouzit wrote:
Which tool are you using ? kdiff3 ? I've noticed that it often fails
miserably, or worse, create bad merges silentely with it.
And as none of the other merge tool that are supported are able to
either do 3way merges, or have a decent UI (that definitely seems to be
exclusive features) I've given up on git-mergetool (and to be fair, it
sucks, because it could be _sooo_ useful sometimes).
Huh? I use xxdiff all the time, and it works fine.
-Peff
From: Pierre Habouzit <hidden> Date: 2016-06-15 22:43:37
On Thu, Sep 27, 2007 at 07:12:01PM +0000, Jeff King wrote:
On Thu, Sep 27, 2007 at 08:57:07PM +0200, Pierre Habouzit wrote:
quoted
Which tool are you using ? kdiff3 ? I've noticed that it often fails
miserably, or worse, create bad merges silentely with it.
And as none of the other merge tool that are supported are able to
either do 3way merges, or have a decent UI (that definitely seems to be
exclusive features) I've given up on git-mergetool (and to be fair, it
sucks, because it could be _sooo_ useful sometimes).
Huh? I use xxdiff all the time, and it works fine.
I'm sorry but I find that the UI is terrible.
--
·O· Pierre Habouzit
··O madcoder@debian.org
OOO http://www.madism.org
From: Kelvie Wong <hidden> Date: 2016-06-15 22:43:37
I've tried all of the ones that were supported, the result is the same
-- blank files in all three windows.
It is because git mergetool fails to generate these files for whatever
reason (the filebasename.{REMOTE,LOCAL,BASE}.* files). I don't know
why this happens.
As for merge utilities, all I need is something that looks for the
first <<<<<, and lets me choose which version I want (either top or
bottom), plain and simple :/ I don't even need/want a gui.
But oh well, I guess the answer here is to write a script that does it.
Kelvie
On 9/27/07, Pierre Habouzit [off-list ref] wrote:
On Thu, Sep 27, 2007 at 06:31:19PM +0000, Kelvie Wong wrote:
quoted
At work, I've been using a git-svn import for my daily workflow (still
somewhat of a git newbie, but now has come to the point where it's
tough to work without it), and while rebasing from svn (on a rather
old branch), I found that the mergetool option does not work too well
for me.
Which tool are you using ? kdiff3 ? I've noticed that it often fails
miserably, or worse, create bad merges silentely with it.
And as none of the other merge tool that are supported are able to
either do 3way merges, or have a decent UI (that definitely seems to be
exclusive features) I've given up on git-mergetool (and to be fair, it
sucks, because it could be _sooo_ useful sometimes).
--
·O· Pierre Habouzit
··O madcoder@debian.org
OOO http://www.madism.org
On Thu, Sep 27, 2007 at 09:11:25PM +0200, Pierre Habouzit wrote:
quoted
quoted
And as none of the other merge tool that are supported are able to
either do 3way merges, or have a decent UI (that definitely seems to be
exclusive features) I've given up on git-mergetool (and to be fair, it
sucks, because it could be _sooo_ useful sometimes).
What about meld? That does 3-way merge, and the UI is fine.
Indeed, it seems that since the last time I tested it, it now does
diff3 merging. I should reevaluate it :)
Pierre,
FYI, kdiff3, meld, xxdiff, opendiff (on MacOSX), and emerge all
support 3-way merge.
- Ted
From: Pierre Habouzit <hidden> Date: 2016-06-15 22:43:37
On Thu, Sep 27, 2007 at 10:23:26PM +0000, Theodore Tso wrote:
On Thu, Sep 27, 2007 at 09:11:25PM +0200, Pierre Habouzit wrote:
quoted
quoted
quoted
And as none of the other merge tool that are supported are able to
either do 3way merges, or have a decent UI (that definitely seems to be
exclusive features) I've given up on git-mergetool (and to be fair, it
sucks, because it could be _sooo_ useful sometimes).
What about meld? That does 3-way merge, and the UI is fine.
Indeed, it seems that since the last time I tested it, it now does
diff3 merging. I should reevaluate it :)
Pierre,
FYI, kdiff3, meld, xxdiff, opendiff (on MacOSX), and emerge all
support 3-way merge.
I know, but:
* kdiff3 often take decisions behind your back, and results in broken
merges, so it's a no-go ;
* xxdiff has (IMHO) a very bad and non-intuitive UI, I never get to
make it work ;
* I don't use macos (opendiff) ;
* emerge is emacs right ? :)
Though I gave meld another chance, and it works really better than it
used to, so I may give it a try :) Let's hope I won't be disappointed by
meld :)
--
·O· Pierre Habouzit
··O madcoder@debian.org
OOO http://www.madism.org
From: Peter Baumann <hidden> Date: 2016-06-15 22:43:37
On Fri, Sep 28, 2007 at 12:28:25AM +0200, Pierre Habouzit wrote:
On Thu, Sep 27, 2007 at 10:23:26PM +0000, Theodore Tso wrote:
quoted
On Thu, Sep 27, 2007 at 09:11:25PM +0200, Pierre Habouzit wrote:
quoted
quoted
quoted
And as none of the other merge tool that are supported are able to
either do 3way merges, or have a decent UI (that definitely seems to be
exclusive features) I've given up on git-mergetool (and to be fair, it
sucks, because it could be _sooo_ useful sometimes).
What about meld? That does 3-way merge, and the UI is fine.
Indeed, it seems that since the last time I tested it, it now does
diff3 merging. I should reevaluate it :)
Pierre,
FYI, kdiff3, meld, xxdiff, opendiff (on MacOSX), and emerge all
support 3-way merge.
I know, but:
* kdiff3 often take decisions behind your back, and results in broken
merges, so it's a no-go ;
* xxdiff has (IMHO) a very bad and non-intuitive UI, I never get to
make it work ;
* I don't use macos (opendiff) ;
* emerge is emacs right ? :)
Though I gave meld another chance, and it works really better than it
used to, so I may give it a try :) Let's hope I won't be disappointed by
meld :)
FWIW, xxdiff has support to handle halfway merged files, so that if git
could merge some hunks already for you (e.g. rerere kicked in), you
don't have to redo the _whole_ merge by hand, just call
xxdiff -U file/with/mergemarkers/inside
and it will do the right thing. Not sure if the other tools could handle
it, but any pointers appreciated, because it often happens to me that
only one hunk out of several wasn't merged automatically by git. And
mergetool wants to always redo the whole merge, which isn't the best it
can do.
-Peter
From: Pierre Habouzit <hidden> Date: 2016-06-15 22:43:37
On Fri, Sep 28, 2007 at 05:15:03AM +0000, Peter Baumann wrote:
FWIW, xxdiff has support to handle halfway merged files, so that if git
could merge some hunks already for you (e.g. rerere kicked in), you
don't have to redo the _whole_ merge by hand, just call
xxdiff -U file/with/mergemarkers/inside
and it will do the right thing. Not sure if the other tools could handle
it, but any pointers appreciated, because it often happens to me that
only one hunk out of several wasn't merged automatically by git. And
mergetool wants to always redo the whole merge, which isn't the best it
can do.
For what I've seen, it's how meld works, and I find it nice too. Meld
is quite slow (python + gnomeish doesn't help) but well, I don't merge
things that often, so like said I think I'll give it a try for a while
and see if it has what it takes :)
--
·O· Pierre Habouzit
··O madcoder@debian.org
OOO http://www.madism.org
From: David Kågedal <hidden> Date: 2016-06-15 22:43:37
"Kelvie Wong" [off-list ref] writes:
I've tried all of the ones that were supported, the result is the same
-- blank files in all three windows.
It is because git mergetool fails to generate these files for whatever
reason (the filebasename.{REMOTE,LOCAL,BASE}.* files). I don't know
why this happens.
As for merge utilities, all I need is something that looks for the
first <<<<<, and lets me choose which version I want (either top or
bottom), plain and simple :/ I don't even need/want a gui.
Since you are already using Emacs, let me suggest you use smerge
(together with ediff).
Use M-x smerge-mode and go over the conflicts and select which one you
want with C-c ^ m (for "mine") or C-c ^ o (for "other") or one of the
commands. Or press C-c ^ E to run a three-window merge.
Or use the last directly by running M-x smerge-ediff.
--
David Kågedal