Mercurial > hg
view tests/test-hup.t @ 24122:da14b8eba806
revlog: special case expanding full-replacement deltas received by exchange
When a delta received through exchange is added to a revlog, it will very
often be expanded to a full text by applying the delta to its base. If
that delta is of a particular form, we can avoid decoding the base revision.
This avoids an exception if the base revision is censored.
For background and broader design of the censorship feature, see:
http://mercurial.selenic.com/wiki/CensorPlan
author | Mike Edgar <adgar@google.com> |
---|---|
date | Fri, 06 Feb 2015 01:38:16 +0000 |
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