Distributed transaction rollback

Jilles Tjoelker jilles at stack.nl
Thu Jul 8 20:24:17 UTC 2010


On Tue, Jul 06, 2010 at 11:57:27AM -0400, Greg Ward wrote:
> I have thought about this problem a bit myself, and my idea is a
> "changeset blacklist".  Here's the idea:

>   * Alice accidentally commits and pushes a changeset with the nuclear
> launch codes to
>     her company's central repo
>   * Bob inadvertently pulls the poison changeset
>   * Alice notices her mistake and notifies Carl, the admin of the central repo
>   * Carl strips the evil changeset from the central repo and adds its
> changeset ID
>     to the blacklist
>    * Alice strips the bad changeset from her local repo

Suppose the following happens from this point:
 * Alice commits a corrected changeset and pushes
 * Bob commits on top of the evil changeset and does hg pull --rebase;
   this creates a new changeset that still contains the codes but is not
   in the blacklist

So a blacklist based on rejecting pushes of changeset IDs is too simple.
A blacklist based on file size, name and/or contents would be more
effective.

-- 
Jilles Tjoelker



More information about the Mercurial mailing list