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

r21947:b081decd stable
r22449:da05fe01 default
Show More
test-rebase-mq-skip.t
139 lines | 2.1 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-mq-skip.t
Matt Mackall
check-code: warning and fixes for whitespace in unified tests
r12785 This emulates the effects of an hg pull --rebase in which the remote repo
Adrian Buehlmann
tests: unify test-rebase*
r12608 already has one local mq patch
$ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
> mq=
>
Pierre-Yves David
phases: prevent rebase to rebase immutable changeset.
r15742 > [phases]
> publish=False
>
Adrian Buehlmann
tests: unify test-rebase*
r12608 > [alias]
> tglog = log -G --template "{rev}: '{desc}' tags: {tags}\n"
> EOF
$ hg init a
$ cd a
$ hg qinit -c
$ echo c1 > c1
$ hg add c1
$ hg ci -m C1
$ echo r1 > r1
$ hg add r1
$ hg ci -m R1
$ hg up -q 0
$ hg qnew p0.patch
$ echo p0 > p0
$ hg add p0
$ hg qref -m P0
$ hg qnew p1.patch
$ echo p1 > p1
$ hg add p1
$ hg qref -m P1
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg export qtip > p1.patch
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg up -q -C 1
$ hg import p1.patch
applying p1.patch
$ rm p1.patch
$ hg up -q -C qtip
$ hg rebase
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
@ 3: 'P0' tags: p0.patch qbase qtip tip
|
o 2: 'P1' tags: qparent
|
o 1: 'R1' tags:
|
o 0: 'C1' tags:
$ cd ..
$ hg init b
$ cd b
$ hg qinit -c
$ for i in r0 r1 r2 r3 r4 r5 r6;
> do
> echo $i > $i
> hg ci -Am $i
> done
adding r0
adding r1
adding r2
adding r3
adding r4
adding r5
adding r6
$ hg qimport -r 1:tip
$ hg up -q 0
$ for i in r1 r3 r7 r8;
> do
> echo $i > $i
> hg ci -Am branch2-$i
> done
adding r1
created new head
adding r3
adding r7
adding r8
$ echo somethingelse > r4
$ hg ci -Am branch2-r4
adding r4
$ echo r6 > r6
$ hg ci -Am branch2-r6
adding r6
$ hg up -q qtip
$ HGMERGE=internal:fail hg rebase
Augie Fackler
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
r18933 unresolved conflicts (see hg resolve, then hg rebase --continue)
Augie Fackler
dispatch: exit with status 1 for an InterventionRequired exception (bc)
r18935 [1]
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ HGMERGE=internal:local hg resolve --all
Pierre-Yves David
resolve: add parenthesis around "no more unresolved files" message...
r21947 (no more unresolved files)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg rebase --continue
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/b/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Patrick Mezard
rebase: skip resolved but emptied revisions...
r16509 @ 8: 'r5' tags: 5.diff qtip tip
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
o 7: 'r2' tags: 2.diff qbase
|
o 6: 'branch2-r6' tags: qparent
|
o 5: 'branch2-r4' tags:
|
o 4: 'branch2-r8' tags:
|
o 3: 'branch2-r7' tags:
|
o 2: 'branch2-r3' tags:
|
o 1: 'branch2-r1' tags:
|
o 0: 'r0' tags:
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..