[darcs-users] [issue2011] refuse to pull/apply patches if you have unrecorded changes

Ganesh Sittampalam ganesh at earth.li
Mon Dec 6 22:39:41 UTC 2010

Hi Dan,

On Mon, 6 Dec 2010, Dan Pascu wrote:

> I just noticed this thread, but I disagree with everything proposed thus far. 
> In my workflow I found that it is much better to pull a patch that conflicts 
> over an unrecorded change than over a recorded one. In the former case I just 
> fix the conflict in my working files and then I record a patch that has no 
> conflict. In the other case (pulling over recorded patches) I will end up 
> with a conflict that I need to solve by recording a conflict resolution 
> patch.

Instead of recording a fresh conflict resolution, you can always 
amend-record the local patch. This is equivalent to what you'd get if you 
pulled with unrecorded changes, resolved, then recorded (modulo some very 
occasionally differences in hunk alignment that can arise between 
record;amend-record versus unrecord;record, but these are rare and 
unlikely to be important even when they happen.)

> So refusing to pull a patch because it conflicts with my working files would 
> be a major let down in my case. Even if darcs would record a temporary draft 
> patch which I could unrecord later and keep my workflow that avoids the 
> conflict, it'll still make life much more complicated than necessary.

A --force option is being proposed, so you could always put that 
in your defaults.

> In the end why is all of this needed? Is there any problem with data 
> integrity that needs to be addressed?

The basic problem is that if you're confused by the conflict, you can't 
undo it any more to get back to the unrecorded state from beforehand. 
Whereas if everything is recorded, you can just revert and unpull the 
remote patch.

> Because I always found easier to pull 
> over unrecorded work in order to avoid dealing with unnecessary conflict 
> resolution patches. So I don;t really see how this would make it easier to 
> deal with conflicts. In my case it'll make it more difficult.

I think the key point is the use of amend-record on local patches so as 
not to have the conflict resolution patches.



More information about the darcs-users mailing list