##// END OF EJS Templates
bookmarks: cache reverse mapping (issue5868)...
bookmarks: cache reverse mapping (issue5868) I chose a simpler implementation. If the initial cost of building reverse mapping is significant, we'll have to move it under @propertycache. The nodemap could be a dict of sets, but I think keeping a sorted list is better since each node is likely to have zero/one bookmark. Micro-benchmark with 1001 bookmarks and 1001 revisions: $ for n in `seq 0 1000`; do touch $n; hg book book$n; hg ci -qAm$n; done $ hg bookmarks --time > /dev/null (orig) time: real 0.040 secs (user 0.050+0.000 sys 0.000+0.000) (new) time: real 0.040 secs (user 0.040+0.000 sys 0.010+0.000) $ hg log -T '{bookmarks}\n' --time > /dev/null (orig) time: real 0.160 secs (user 0.160+0.000 sys 0.000+0.000) (new) time: real 0.090 secs (user 0.100+0.000 sys 0.000+0.000)

File last commit:

r34662:eb586ed5 default
r37869:04ceb267 @26 default
Show More
test-merge6.t
72 lines | 1.9 KiB | text/troff | Tads3Lexer
Pradeepkumar Gayam
tests: unify test-merge6
r11979 $ cat <<EOF > merge
> import sys, os
Augie Fackler
tests: clean up many print statements to be print functions instead...
r33687 > print("merging for", os.path.basename(sys.argv[1]))
Pradeepkumar Gayam
tests: unify test-merge6
r11979 > EOF
Augie Fackler
tests: clean up even more direct `python` calls with $PYTHON...
r33286 $ HGMERGE="$PYTHON ../merge"; export HGMERGE
Pradeepkumar Gayam
tests: unify test-merge6
r11979
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init A1
Pradeepkumar Gayam
tests: unify test-merge6
r11979 $ cd A1
$ echo This is file foo1 > foo
$ echo This is file bar1 > bar
$ hg add foo bar
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit text"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ..
$ hg clone A1 B1
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd A1
$ rm bar
$ hg remove bar
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ../B1
$ echo This is file foo22 > foo
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ..
$ hg clone A1 A2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg clone B1 B2
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd A1
$ hg pull ../B1
pulling from ../B1
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets b90e70beeb58
Pradeepkumar Gayam
tests: unify test-merge6
r11979 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979 bar should remain deleted.
$ hg manifest --debug
f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
$ cd ../B2
$ hg pull ../A2
pulling from ../A2
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 0 changes to 0 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets e1adc944e717
Pradeepkumar Gayam
tests: unify test-merge6
r11979 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979 bar should remain deleted.
$ hg manifest --debug
f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..