Mercurial > hg
view tests/test-hgcia.t @ 24821:57f1dbc99631 stable
afterlock: add the callback to the top level lock (issue4608)
If 'wlock' is taken, we should add 'afterlock' callback to the 'wlock' instead.
Otherwise, running post transaction hook after 'lock' is release but 'wlock' is
still taken lead to a deadlock (eg: 'hg update' during a hook).
This situation is much more common since: 5dc5cd7abbf5
push: acquire local 'wlock' if "pushback" is expected (BC) (issue4596)
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Mon, 20 Apr 2015 15:27:55 +0200 |
parents | f2719b387380 |
children |
line wrap: on
line source
Test the CIA extension $ cat >> $HGRCPATH <<EOF > [extensions] > hgcia= > > [hooks] > changegroup.cia = python:hgext.hgcia.hook > > [web] > baseurl = http://hgserver/ > > [cia] > user = testuser > project = testproject > test = True > EOF $ hg init src $ hg init cia $ cd src $ echo foo > foo $ hg ci -Amfoo adding foo $ hg push ../cia pushing to ../cia searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files <message> <generator> <name>Mercurial (hgcia)</name> <version>0.1</version> <url>http://hg.kublai.com/mercurial/hgcia</url> <user>testuser</user> </generator> <source> <project>testproject</project> <branch>default</branch> </source> <body> <commit> <author>test</author> <version>0:e63c23eaa88a</version> <log>foo</log> <url>http://hgserver/rev/e63c23eaa88a</url> <files><file uri="http://hgserver/file/e63c23eaa88a/foo" action="add">foo</file></files> </commit> </body> <timestamp>0</timestamp> </message> $ cat >> $HGRCPATH <<EOF > strip = 0 > EOF $ echo bar > bar $ hg ci -Ambar adding bar $ hg push ../cia pushing to ../cia searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files <message> <generator> <name>Mercurial (hgcia)</name> <version>0.1</version> <url>http://hg.kublai.com/mercurial/hgcia</url> <user>testuser</user> </generator> <source> <project>testproject</project> <branch>default</branch> </source> <body> <commit> <author>test</author> <version>1:c0c7cf58edc5</version> <log>bar</log> <url>http://hgserver/$TESTTMP/cia/rev/c0c7cf58edc5</url> <files><file uri="http://hgserver/$TESTTMP/cia/file/c0c7cf58edc5/bar" action="add">bar</file></files> </commit> </body> <timestamp>0</timestamp> </message> $ cd ..