[darcs-users] Problems with darcs 1.03

Tommy Pettersson ptp at lysator.liu.se
Fri Sep 9 18:34:50 UTC 2005


On Fri, Sep 09, 2005 at 10:39:18AM -0700, Bryn Keller wrote:
> Oh well. The original problem I had was that I accidentally included a 
> binary file in a repo, call it repo A, that I didn't really want in 
> there. Before realizing this, I pulled a copy, call it repo B, and did a 
> bunch of work in there. Changes to the binary file were made, and 
> inadvertently included in the patch I then recorded. When I tried to 
> push B's patch back to A, it failed because of a conflict in this binary 
> file. As it happens, I don't even care about this binary file, I'd be 
> happy to overwrite it, but there's no option for that. Also, the error 
> message suggests a --mark-conflicts option:
> 
> darcs failed:  Refusing to apply patches leading to conflicts.
> If you would rather apply the patch and mark the conflicts,
> use the --mark-conflicts option to apply.
> 
> However, the option isn't recognized:
> 
> C:\A\B\src>darcs push --mark-conflicts
> 
> darcs failed:  unrecognized option `--mark-conflicts'

This is a common case of confusion due to the cryptic "help"
from darcs.  The 'push' will start a second invocation of
darcs that runs the 'apply' command to apply the selected
patches in the target repo.  It is 'apply' that doesn't allow
conflicts without one of the --conflict options.  'Push'
doesn't recognize nor propagates those flags (in version
1.0.3 at least).  The easy workaround is to go to repo A and
'pull' the patches from B.  It is also possible to add a line
"apply --mark-conflicts" in A/_darcs/prefs/defaults to always
have 'apply' use that option in that repo -- including when
pushed to from another repo.  But experience has shown that
you usually don't want to create conflicts in a "remote" repo.


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




More information about the darcs-users mailing list