[darcs-users] Conflicts over SSH

Tommy Pettersson ptp at lysator.liu.se
Sun Nov 20 13:13:15 UTC 2005


On Sat, Nov 19, 2005 at 10:51:01PM -0500, Lst Recv wrote:
> Is there anyway to push patches with conflicts over SSH, or do I need
> to generate a file using send, copy it manually, and apply with
> --merge-conflicts?

The best way is to Push a patch that resolves the conflict
along with the conflict, so there is no resulting conflict. But
if you know what you're doing, here;s how:

Push invokes another darcs in the target repo that runs Apply.
Apply does by default not allow conflicts, and that is why the
Push fails if there would be a conflict.  Push can not yet
propagate the --allow-conflicts flag to Apply, so it has to
be present in the target repos _darcs/prefs/defaults file as:

  apply allow-conflicts

There's also a --mark-conflicts flag, that does the same thing
Pull would have done, put the conflicting parts and markers
in the working tree, but that causes unrecorded changes in
the target repo, which are likely to conflict very badly with
further Pushes, unless they are resolved and recorded first.


> Also, how does darcs handle conflicts in binary files (it can't
> exactly put markers in them).  (I would think that the best option
> would be to prompt the user, and to show him the mod times of each
> one...)

Darcs doesn't look for changes in binary files, it just
replaces the old one with the new one.  A conflict in a
binary file is thus simply two versions of the whole file,
and a Resolve will just pick one of them.


-- 
Tommy Pettersson <ptp at lysator.liu.se>




More information about the darcs-users mailing list