##// END OF EJS Templates
rust: hooking into Python code...
rust: hooking into Python code We introduce a new class called 'rustlazyancestors' in the ancestors module, which is used only if parsers.rustlazyancestors does exist. The implementation of __contains__ stays unchanged, but is now backed by the Rust iterator. It would probably be a good candidate for further development, though, as it is mostly looping, and duplicates the 'seen' set. The Rust code could be further optimized, however it already gives rise to performance improvements: median timing from hg perfancestors: - on pypy: before: 0.077566s after: 0.016676s -79% - on mozilla central: before: 0.190037s after: 0.082225s -58% - on a private repository (about one million revisions): before: 0.567085s after: 0.108816s -80% - on another private repository (about 400 000 revisions): before: 1.440918s after: 0.290116s -80% median timing for hg perfbranchmap base - on pypy: before: 1.383413s after: 0.507993s -63% - on mozilla central: before: 2.821940s after: 1.258902s -55% - on a private repository (about one million revisions): before: 77.065076s after: 16.158475s -80% - on another private repository (about 401 000 revisions): before: 7.835503s after: 3.545331s -54%

File last commit:

r39743:5abc47d4 default
r40334:9cadb0f5 default
Show More
test-convert-bzr-ghosts.t
39 lines | 1018 B | text/troff | Tads3Lexer
/ tests / test-convert-bzr-ghosts.t
Gregory Szorc
tests: move '#require bzr' into .t files...
r26066 #require bzr
Matt Mackall
tests: unify test-convert-bzr-ghosts
r12515
$ . "$TESTDIR/bzr-definitions"
$ cat > ghostcreator.py <<EOF
> import sys
> from bzrlib import workingtree
> wt = workingtree.WorkingTree.open('.')
>
> message, ghostrev = sys.argv[1:]
> wt.set_parent_ids(wt.get_parent_ids() + [ghostrev])
> wt.commit(message)
> EOF
ghost revisions
$ mkdir test-ghost-revisions
$ cd test-ghost-revisions
$ bzr init -q source
$ cd source
$ echo content > somefile
$ bzr add -q somefile
$ bzr commit -q -m 'Initial layout setup'
$ echo morecontent >> somefile
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../../ghostcreator.py 'Commit with ghost revision' ghostrev
Matt Mackall
tests: unify test-convert-bzr-ghosts
r12515 $ cd ..
$ hg convert source source-hg
initializing destination source-hg repository
scanning source...
sorting...
converting...
1 Initial layout setup
0 Commit with ghost revision
$ glog -R source-hg
Matt Harbison
tests: show added/modified/removed files when logging repos converted from bzr...
r39256 o 1@source "Commit with ghost revision" files+: [], files-: [], files: [somefile]
Matt Mackall
tests: unify test-convert-bzr-ghosts
r12515 |
Matt Harbison
tests: show added/modified/removed files when logging repos converted from bzr...
r39256 o 0@source "Initial layout setup" files+: [somefile], files-: [], files: []
Matt Mackall
tests: unify test-convert-bzr-ghosts
r12515
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..