Darcs: Fixing a wrong amend
I must admit I often get confused when recording a new patch based on a previous one. Sometimes I
amend instead of creating a new record, and once it's done it's not easy to rollback. Well, really it is if you have a backup of the original patch. And this is how I treated to handle it...
First of all, having blundered with the amend, make a repository backup on disk. Once it's done the process should be:
- Amend other changes to that wrong patch, no matter really, we're going to unpull the patch in next step.
- Unpull the patch with the wrong amend.
- Pull the original patch (remember, we should have a copy of the original patch -before the wrong amend- to restore it).
- Synchronize the repo backup copy to the current one excluding
$ cp -r myrepo myrepo.back $ cd myrepo $ darcs amend file1 file2 * patch X $ darcs unpull * patch X Shall I unpull this patch? (1/1): y $ dars apply patch-X-original.dpatch $ cd .. $ rsync -lprtvvzog --exclude '_darcs' myrepo.back/ myrepo/
Now your repo should be exactly as before to make the wrong amend. Once again, the power of the backups is priceless.