>> Are there any mercurial experts here that want to step up to help solve 
>> this? provide assistence? , ...
> 
> I am interested in seeing what happens if you block for a while on
> server side during push. But I guess that means that the gate is locked
> for another push, if not even for pull. I can whip some examples to have
> something to start with.

If you install any pretxnchangegroup hooks, you will want to consider 
going to a write-only gate/read-only clone arrangement.

When a changegroup is pushed, Mercurial opens a transaction, 
incorporates the changeset(s) into the repository, and then runs the 
pretxnchangegroup hooks.  If any of those hooks fail, the transaction is 
rolled back, and the repository restored to the state prior to the 
transaction.  If all of those hooks pass, the transaction is closed, and 
then the changegroup hooks are run.

While that transaction is open, other users may pull the new changesets, 
which is bad, because if you reject them and rollback, they still exist 
in the other user's repository.

--Mark

Reply via email to