##// 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-pull.t
92 lines | 2.3 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require serve
Mads Kiilerich
tests: use 'hghave serve' to guard tests that requires serve daemon management
r15446
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init test
Adrian Buehlmann
combine tests
r12279 $ cd test
$ echo foo>foo
$ hg addremove
adding foo
$ hg commit -m 1
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 1 changesets, 1 total revisions
$ hg serve -p $HGPORT -d --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ cd ..
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg clone --pull http://foo:bar@localhost:$HGPORT/ copy
Adrian Buehlmann
combine tests
r12279 requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd copy
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 1 changesets, 1 total revisions
$ hg co
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cat foo
foo
$ hg manifest --debug
2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 foo
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg pull
Augie Fackler
clone: don't save user's password in .hg/hgrc (Issue3122)
r15552 pulling from http://foo@localhost:$HGPORT/
Adrian Buehlmann
combine tests
r12279 searching for changes
no changes found
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg rollback --dry-run --verbose
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision -1 (undo pull: http://foo:***@localhost:$HGPORT/)
Adrian Buehlmann
combine tests
r12279
Martin Geisler
tests: added a short description to issue numbers...
r12399 Issue622: hg init && hg pull -u URL doesn't checkout default branch
Adrian Buehlmann
combine tests
r12279
$ cd ..
$ hg init empty
$ cd empty
$ hg pull -u ../test
pulling from ../test
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Test 'file:' uri handling:
timeless@mozdev.org
spelling: doesn't/does not
r17486 $ hg pull -q file://../test-does-not-exist
Brodie Rao
hg: look up schemes using url.url
r13823 abort: file:// URLs can only refer to localhost
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
combine tests
r12279
Brodie Rao
url: refactor util.drop_scheme() and hg.localpath() into url.localpath()...
r13826 $ hg pull -q file://../test
abort: file:// URLs can only refer to localhost
[255]
Adrian Buehlmann
combine tests
r12279 $ hg pull -q file:../test
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 It's tricky to make file:// URLs working on every platform with
regular shell commands.
Adrian Buehlmann
combine tests
r12279
$ URL=`python -c "import os; print 'file://foobar' + ('/' + os.getcwd().replace(os.sep, '/')).replace('//', '/') + '/../test'"`
$ hg pull -q "$URL"
Brodie Rao
url: abort on file:// URLs with non-localhost hosts
r13817 abort: file:// URLs can only refer to localhost
[255]
Adrian Buehlmann
combine tests
r12279
Brodie Rao
url: abort on file:// URLs with non-localhost hosts
r13817 $ URL=`python -c "import os; print 'file://localhost' + ('/' + os.getcwd().replace(os.sep, '/')).replace('//', '/') + '/../test'"`
$ hg pull -q "$URL"
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..