Mercurial > hg
view tests/test-hup.t @ 24685:b3d78d82d84c
manifestdict: extract condition for _intersectfiles() and use for walk()
The condition on which manifestdict.matches() and manifestdict.walk()
take the fast path of iterating over files instead of the manifest, is
slightly different. Specifically, walk() does not take the fast path
for exact matchers and it does not avoid taking the fast path when
there are more than 100 files. Let's extract the condition so we don't
have to maintain it in two places and so walk() can gain these two
missing pieces of the condition (although there seems to be no current
caller of walk() with an exact matcher).
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 08 Apr 2015 09:38:09 -0700 |
parents | 581d3bc03aad |
children |
line wrap: on
line source
#require serve fifo Test hangup signal in the middle of transaction $ hg init $ mkfifo p $ hg serve --stdio < p 1>out 2>&1 & $ P=$! Do test while holding fifo open $ ( > echo lock > echo addchangegroup > start=`date +%s` > # 10 second seems much enough to let the server catch up > deadline=`expr $start + 10` > while [ ! -s .hg/store/journal ]; do > sleep 0; > if [ `date +%s` -gt $deadline ]; then > echo "transaction did not start after 10 seconds" >&2; > exit 1; > fi > done > kill -HUP $P > ) > p $ wait $ cat out 0 0 adding changesets transaction abort! rollback completed killed! $ ls -1d .hg/* .hg/store/* .hg/00changelog.i .hg/journal.bookmarks .hg/journal.branch .hg/journal.desc .hg/journal.dirstate .hg/requires .hg/store .hg/store/00changelog.i .hg/store/00changelog.i.a .hg/store/journal.phaseroots