##// END OF EJS Templates
revset: make descendants() lazier...
revset: make descendants() lazier Previously descendants() would force the provided subset to become a set. In the case of revsets like '(%ld::) - (%ld)' (as used by histedit) this would force the '- (%ld)' set to be evaluated, which produced a set containing every commit in the repo (except %ld). This takes 0.6s on large repos. This changes descendants to trust the subset to implement __contains__ efficiently, which improves the above revset to 0.16s. Shaving 0.4 seconds off of histedit. revset #27: (20000::) - (20000) 0) obsolete feature not enabled but 54243 markers found! ! wall 0.023640 comb 0.020000 user 0.020000 sys 0.000000 (best of 100) 1) obsolete feature not enabled but 54243 markers found! ! wall 0.019589 comb 0.020000 user 0.020000 sys 0.000000 (best of 100) This commit removes the final revset related perf hotspot from histedit. Combined with the previous two patches, they shave a little over 3 seconds off histedit on large repos.

File last commit:

r22046:7a9cbb31 default
r22449:da05fe01 default
Show More
test-hup.t
38 lines | 903 B | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require serve fifo
Matt Mackall
tests: unify test-hup
r12413 Test hangup signal in the middle of transaction
$ hg init
$ mkfifo p
Matt Mackall
tests: make test-hup more race-proof...
r16342 $ hg serve --stdio < p 1>out 2>&1 &
Matt Mackall
tests: unify test-hup
r12413 $ P=$!
Matt Mackall
tests: remove sleep/startup/shutdown races from test-hup
r16299
Do test while holding fifo open
$ (
> echo lock
> echo addchangegroup
Pierre-Yves David
tests: prevent test-hup from hanging forever if the transaction does not start...
r20896 > 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
Matt Mackall
tests: remove sleep/startup/shutdown races from test-hup
r16299 > kill -HUP $P
> ) > p
Matt Mackall
tests: make test-hup more race-proof...
r16342
Matt Mackall
tests: avoid zombie lockup with test-hup...
r16344 $ wait
Matt Mackall
tests: make test-hup more race-proof...
r16342 $ cat out
Matt Mackall
tests: unify test-hup
r12413 0
0
adding changesets
transaction abort!
rollback completed
killed!
Matt Mackall
tests: remove sleep/startup/shutdown races from test-hup
r16299
Matt Mackall
tests: unify test-hup
r12413 $ echo .hg/* .hg/store/*
Pierre-Yves David
phases: add rollback support
r15455 .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