Mercurial push locks
Matt Mackall
mpm at selenic.com
Fri Sep 26 21:30:00 UTC 2014
On Fri, 2014-09-26 at 11:19 -0600, durwin at mgtsciences.com wrote:
> > > > With the introduction of phases (Mercurial 2.1, Feb 2012), pushes
> may
> > > > now acquire a lock on the sending side (so that it can update the
> phase
> > > > of local commits). Thus, you may get a deadlock if you push inside a
> > > > hook where a lock is already held.
> > >
> > > This appears to what is occurring. Is there a way around this? I
> need to
> > > perform a push
> > > to the other repository after each push to either. Should I change
> this
> > > to a script and
> > > run it in an 'at' job delayed a minute?
> >
> > What version of Mercurial are you running on the server?
>
> Mercurial version 2.6.3
Hmmm, shouldn't be a problem here: the changegroup hook is run
immediately after lock release.
Perhaps you can create a minimal model of your flow:
$ hg init local
$ hg init server1
# add push hook
$ hg init server2
..and see if you can get it to lock.
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list