But now I needed to revert his patch. It was a bit trickier than I expected, due to the distributed nature of arch. ("The distributed nature of arch" is one of those phrases everyone uses that is both true and a little annoying, sorta like "elegant unix underpinnings" when talking about MacOS X.)
As I wrote to Gaal:
it'd be nice to just delete the patch, but as [irc people] pointed out, it's possible someone has already mirrored the archive and then a later patch with the same name would've confused everything. so the fix is to undo the patch, with the exception of not undoing the existence of the patch: so you committed patch-10. i do a "tla replay --reverse patch-10", but that brings me back to patch-9 and i can no longer commit because i don't have the latest version. so i have to bring in the patch-10 log so it looks like i'm at version patch-10.
there's a command "sync-tree" that basically means "pretend i have some other version and update all the metadata appropriately". but that isn't what we want, either, because if you sometime later really *did* want to commit your branch, we don't want [my] branch to think that it already has your patches. so we need most of the undo to happen (because it also undoes that your patches have been merged) but we don't want to undo the fact that patch-10 itself exists.
*whew* distributed stuff is really hard. :)