[darcs-devel] [issue434] Darcs grief: Issue 274

Grant Husbands grant.husbands at businesswebsoftware.com
Mon Apr 16 08:25:07 PDT 2007


Simon Peyton-Jones wrote:
> I am now going to have to spend an unhappy few hours unravelling which
> are my changes and which are changes from unrelated patches.

I have a technique that takes the recovery time down from a few hours to 
a few minutes:

When things do go wrong in this manner, you want to unrecord the pulled 
patches, in the order that Darcs presents them, until you reach one that 
broke everything. Once you've done that, you'll find there are far fewer 
apparent local changes - the only changes left should be your own and 
maybe some corresponding to part of the patch that broke things.

The cleanup works because Darcs updates the pristine files and patch 
files first, for all patches, then applies the patches to the working 
files. When it fails, all patches from before the failure will have been 
applied to both working and pristine, but all patches from after the 
failure will have been applied only to pristine. Unrecording removes 
changes from pristine but leaves the working copy alone, which is 
exactly what you want.

Regards,
Grant Husbands.


More information about the darcs-devel mailing list