[darcs-users] Re: [issue191] crash in function reconcile_unwindings

Juliusz Chroboczek Juliusz.Chroboczek at pps.jussieu.fr
Tue Jul 4 13:54:53 UTC 2006


(Redirected to darcs-users.)

> I'm afraid I'll need pretty clear guidance about how to use
> 'amend-record' (new to me), starting from "I pull a patch from the
> HEAD and get a conflict".

I happen to disagree with David here -- my approach is to use Darcs
for most merging, and just do manual merges for the few files that
conflict often (changelogs, typically).  But I agree this might not be
doable in your case.

You've got two repositories with respective histories P.A and Q.  You
pull A into Q, and you get

  P.A
  Q.A'

where A' is a merger -- an incomprehensible (for me) data structure
that represents the history a merge conflict.  The ``proper'' darcs
solution is to fix the merge conflict by recording a new patch above A',

  Q.A'.B

but this may trigger a bug in Darcs if a later patch happens to
conflict with A'.  So you decide to instead replace A' with a ``flat''
patch -- a patch that contains no useful history, but happens to yield
the same tree as A' when applied to Q.

  cd Q
  darcs unrecord             -- unrecords A'
  darcs record               -- records A''

leading to

  Q.A''

Darcs amend-record is just a shortcut for the unrecord/record
sequence.  Since this is a risky operation, I tend to avoid
amend-record and use the unrecord/record sequence myself.

                                        Juliusz




More information about the darcs-users mailing list