##// 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:

r21274:3b4c7569 default
r22449:da05fe01 default
Show More
test-journal-exists.t
37 lines | 805 B | text/troff | Tads3Lexer
/ tests / test-journal-exists.t
Adrian Buehlmann
tests: unify test-journal-exists
r12205 $ hg init
$ echo a > a
$ hg ci -Am0
adding a
$ hg -q clone . foo
$ touch .hg/store/journal
$ echo foo > a
$ hg ci -Am0
Johan Bjork
journal: set Abort hint when failing due to an abandoned transaction
r21274 abort: abandoned transaction found!
(run 'hg recover' to clean up transaction)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
tests: unify test-journal-exists
r12205
$ hg recover
rolling back interrupted transaction
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 1 changesets, 1 total revisions
Check that zero-size journals are correctly aborted:
Matt Mackall
tests: skip tests that require not having root (issue4089)...
r20008 #if unix-permissions no-root
Adrian Buehlmann
tests: unify test-journal-exists
r12205 $ hg bundle -qa repo.hg
$ chmod -w foo/.hg/store/00changelog.i
$ hg -R foo unbundle repo.hg
adding changesets
Mads Kiilerich
tests: remove redundant globs...
r12640 abort: Permission denied: $TESTTMP/foo/.hg/store/.00changelog.i-* (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
tests: unify test-journal-exists
r12205
$ if test -f foo/.hg/store/journal; then echo 'journal exists :-('; fi
Adrian Buehlmann
test-journal-exists: use #if
r16959 #endif
Adrian Buehlmann
tests: unify test-journal-exists
r12205