[darcs-users] rolling back across a tag boundery - was: Naming consistency between darcs and other DVCSs
Nathan Gray
kolibrie at graystudios.org
Mon Jul 20 15:53:43 UTC 2009
On Fri, Jul 17, 2009 at 03:59:47PM -0400, Max Battcher wrote:
> Eric Kow wrote:
>> On Fri, Jul 17, 2009 at 10:30:07 -0400, Nathan Gray wrote:
>>> My use case is when we discover a bug the day after a launch, and need
>>> to rollback a patch. We tag each deployment, and would like to keep
>>> that history. Currently we have to unpull the tag, then we usually
>>> just unpull the offending patch and re-tag. But then the history of
>>> us tagging, needing to remove a patch, and re-tagging are lost. All
>>> that remains is a tag showing we deployed a day late.
>>
>> Unpulling the tag, rolling back and pulling the tag back in should
>> also work, right?
>
> It's easier than that: you just tell rollback to "rollback" the tag(s)
> that is blocking you, which doesn't actually do anything because darcs
> doesn't have a tag primitive patch inverse, and then darcs will prompt
> you for the patches in that tag. It feels like an odd thing to do, and
> my assumption is that it is the only remaining artifact of patch
> dependencies in rollback.
I did a test of this using:
darcs 1.0.9
darcs 2.0.2
darcs 2.2.0
darcs 2.3.pre4
It appears that darcs1 cannot rollback any patch included within a
tag. It pretends to rollback a tag itself, but just appears to add an
additional tag patch.
All of the darcs2 versions I tried could rollback a patch included
within a tag, so long as the tag was also rolled back. This worked
whether the repo was in darcs2 or darcs1 format.
I was sure I tried this with darcs2 at some point in the past and had it
not work. Maybe I was doing something else weird that caused it not
to work, or am just misremembering.
So the good news is, it appears this is working in darcs2.
-kolibrie
More information about the darcs-users
mailing list