On 29 May 2010, at 16:40, Radoslav Dorcik wrote:
Hello,
On 05/29/2010 02:47 PM, Petr Rockai wrote:
Dan Pascu<d...@ag-projects.com> writes:
Well, the issue is that no-one on the darcs team is using external
merge, as far as I can tell. However, a testcase for the bug would
certainly improve its changes of it being fixed. I am on a tight
schedule, and converting informal bug descriptions into tests is
something I currently cannot afford to spend time on.
I can spend time here with reproduction of the error & test case
construction.
But I need some short help from Dan - how to bring up my env for
external merge.
Do you use free available tool for external merging ?
I use k3diff on linux or opendiff on OS X (both freely available). I
have a line like this in ~/.darcs/defaults:
# for linux
ALL external-merge kdiff3 --output %o %a %1 %2
# for mac
ALL external-merge opendiff %1 %2 -ancestor %a -merge %o
When I have to pull a patch and I also have a working copy that was
modified in a way that conflicts with the pulled patch, darcs will
open the external merge tool in order to fix the conflict. Before
doing this it will create 3 directory structures in /tmp: /tmp/
version1, /tmp/version2 and /tmp/ancestor with the appropriate files
and directories from the 2 conflicting versions and the ancestor. The
issue is that the /tmp/version1 tree is broken. It contains all the
files and directories as the other 2 trees, but all the files are
empty (0 bytes). As a result the external merge tool thinks that the
pulled version made the changes it really made, but it thinks the
local version has completely erased the file (which is false). As a
result it tries to solve a major conflict and the result is that id
deletes a large portion of the file (everything that was not touched
by the pulled version).
Below is my message I posted to this list a while back describing the
problem:
<quote>
Apparently I cannot leave a comment on that issue (there is no option
on the site to create an account and without one I see no option to
reply to the issue), so I'll post it here.
I can confirm that bug report. I happens to me every time I pull and
there is a conflict. I have the following setting in ~/.darcs/defaults:
ALL external-merge kdiff3 --output %o %a %1 %2
The case where I see this is if I have unrecorded changes to the
working directory and I pull a patch with conflicts with my unrecorded
changes. In that case the external merge application is invoked. In it
I can see the ancestor version and the pulled version all right, but
my own version is completely empty. darcs generates 3 directory trees
in /tmp: /tmp/ancestor, /tmp/version1 and /tmp/version2. The ancestor
and version2 trees and files are all right. But the version1 tree is
broken. It contains the correct directory structure and the required
files, as the other 2 trees do, but all the files under the version1
tree are empty.
</quote>
Thanks,
Rado
--
Dan
_______________________________________________
darcs-users mailing list
darcs-users@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-users