[darcs-users] Rollback a patch with dependencies
Nigel Rowe
rho at swiftdsl.com.au
Sun May 16 08:48:58 UTC 2004
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I know this was discussed back in April, but it's just bitten me, and I can't
understand why rollback wont work. (Unpull not working I can understand.)
I have a repository with
patch A
patch B
patch C
tag T
patch D
and I want to end up with a repository that no longer has patch B applied, as
a preparatory step to doing something equivalent to, but quite different from
B. (Ie, take out feature X and replace it with feature X' ).
$ darcs rollback --patch-name B
Skipping dependent patch:
Thu May 13 00:03:27 EST 2004 rho at swiftdsl.com.au
* B
Cancelling rollback since no patch was selected.
(As an aside, "Skipping dependent patch" seems the wrong message, since T is
dependent on B, but it's B that was skipped. Possibly precursor or
antecedent, would be a better word?)
David said at the time of the original discussion
> The fundamental problem is that darcs takes dependencies seriously
and I can see that T depends on B (by definition, since T is a tag).
But in the context of trying to do a rollback, so what! I'm trying to create
a *new* patch called "UNDO B" that is the inverse of "B", not trying to
change anything prior to T.
In the end I did something like
$ darcs diff -u --patch-name B -patch-name A | patch -p1
$ darcs record --patch-name "Undo B"
which worked, but the diff could have been unappliable by patch, its ugly and
isn't that what rollback is supposed to do?.
Bottom line: Since rollback is creating a new patch, it shouldn't skip
dependent (ie precursor) patches. (*I* think)
- --
Nigel Rowe
rho at swiftdsl.com.au
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQFApysBBbmcM2pfckkRAk/eAJsEFxchXVEmS0HV+xa8MGvOtqbXrACg9l8l
cp+ss6YmWOEDopcLUYhTyhE=
=bua9
-----END PGP SIGNATURE-----
More information about the darcs-users
mailing list