##// END OF EJS Templates
localrepo: strip now incrementally updates the branchheads cache...
localrepo: strip now incrementally updates the branchheads cache Destroying history via strip used to invalidate the branchheads cache, causing it to be regenerated the next time it is read. This is expensive in large repos. This change converts strip to pass info to localrepo.destroyed() to enable to it to incrementally update the cache, improving the performance of strip and other operations that depend on it (e.g., rebase). This change also strengthens a bit the integrity checking of the branchheads cache when it is read, by rejecting the cache if it has nodes in it that no longer exist.

File last commit:

r16509:eab9119c stable
r16716:0311a6ab default
Show More
test-rebase-mq-skip.t
137 lines | 2.0 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]
> graphlog=
> 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
$ hg export qtip > p1.patch
$ 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
Steve Borho
rebase: improve resolve failure message
r12896 abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
Adrian Buehlmann
tests: unify test-rebase*
r12608 [255]
$ HGMERGE=internal:local hg resolve --all
$ 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: