monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] How to 3-way merge with kdiff3 and Cygwin?


From: Justin Patrin
Subject: Re: [Monotone-devel] How to 3-way merge with kdiff3 and Cygwin?
Date: Wed, 21 Feb 2007 07:43:47 -0800

On 2/21/07, Boris <address@hidden> wrote:
I'm trying to merge two heads with kdiff3 (I'm on Windows XP using the
Cygwin port of monotone and the Windows port of kdiff3). Here's the output
of monotone when I try to merge:

Well, here is where your problem lies. If you're mixing "Cygwin"
monotone and "Windows" kdiff3 your programs are almost certainly using
different path conventions. monotone will use paths like
/tmp/xxxx-left whereas kdiff3 likely wants C:\cygwin\tmp\xxxx-left. I
suggest either using a 3-way merger which is bundled with cygwin
(emacs is one, there may be others), switching to the Windows port of
monotone (uses MSYS, AFAIK), or implementing your own merge3 hook in
your monotonerc which adds the Windows path (C:/cygwin or similar) to
the beginning of the filenames. (see std_hooks.lua in the monotone
source)


mtn: 2 heads on branch 'com.example.project'
mtn: [left]  42133587aaa76e4d320f898a15e1a865a201d08f
mtn: [right] 90c6621f8b7bdf50c2af90b5340920h302f1e8b4
mtn: help required for 3-way merge
mtn: [ancestor] bla.cpp
mtn: [    left] bla.cpp
mtn: [   right] bla.cpp
mtn: [  merged] bla.cpp
executing external 3-way merge command

Now kdiff3 starts and tries to load the file bla.cpp, bla.cpp and bla.cpp
(which doesn't seem already to make much sense to me as it's always the
same file from the same directory?).

Then I see a dialog window in kdiff3 telling me that there are no
conflicts and the files are binary equal (not surprising if the same file
bla.cpp was loaded). In the background I see only white panels - the files
were not loaded or are empty.

When I click on OK another dialog window pops up telling me that the files
bla.cpp, bla.cpp and bla.cpp couldn't be opened ("Opening of these files
failed"; I don't know why I was told first by kdiff3 that there are no
conflicts when I am told afterwards that the files couldn't be loaded).
When I close kdiff3 then (doesn't matter with or without saving) I see in
Cygwin:

Error running merger 'kdiff3'
mtn: error: merge failed due to unresolved conflicts

I think there is one problem with the Unix paths which are not understood
by the Windows port of kdiff3. kdiff3 doesn't get an absolute path to
bla.cpp for example. However an absolute path wouldn't help either as it
would start with /cygdrive/c.

How do others merge on Cygwin?



--
Justin Patrin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]