test-fastannotate-corrupt.t
83 lines
| 2.8 KiB
| text/troff
|
Tads3Lexer
/ tests / test-fastannotate-corrupt.t
Augie Fackler
|
r39243 | $ cat >> $HGRCPATH << EOF | ||
> [extensions] | ||||
> fastannotate= | ||||
> EOF | ||||
$ hg init repo | ||||
$ cd repo | ||||
$ for i in 0 1 2 3 4; do | ||||
> echo $i >> a | ||||
> echo $i >> b | ||||
> hg commit -A -m $i a b | ||||
> done | ||||
use the "debugbuildannotatecache" command to build annotate cache at rev 0 | ||||
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=0 | ||||
fastannotate: a: 1 new changesets in the main branch | ||||
fastannotate: b: 1 new changesets in the main branch | ||||
"debugbuildannotatecache" should work with broken cache (and other files would | ||||
be built without being affected). note: linelog being broken is only noticed | ||||
when we try to append to it. | ||||
$ echo 'CORRUPT!' >> .hg/fastannotate/default/a.m | ||||
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=1 | ||||
fastannotate: a: rebuilding broken cache | ||||
fastannotate: a: 2 new changesets in the main branch | ||||
fastannotate: b: 1 new changesets in the main branch | ||||
$ echo 'CANNOT REUSE!' > .hg/fastannotate/default/a.l | ||||
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=2 | ||||
fastannotate: a: rebuilding broken cache | ||||
fastannotate: a: 3 new changesets in the main branch | ||||
fastannotate: b: 1 new changesets in the main branch | ||||
$ rm .hg/fastannotate/default/a.m | ||||
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=3 | ||||
fastannotate: a: rebuilding broken cache | ||||
fastannotate: a: 4 new changesets in the main branch | ||||
fastannotate: b: 1 new changesets in the main branch | ||||
$ rm .hg/fastannotate/default/a.l | ||||
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=3 | ||||
$ hg debugbuildannotatecache --debug --config fastannotate.mainbranch=4 | ||||
fastannotate: a: rebuilding broken cache | ||||
fastannotate: a: 5 new changesets in the main branch | ||||
fastannotate: b: 1 new changesets in the main branch | ||||
"fastannotate" should deal with file corruption as well | ||||
$ rm -rf .hg/fastannotate | ||||
$ hg fastannotate --debug -r 0 a | ||||
fastannotate: a: 1 new changesets in the main branch | ||||
0: 0 | ||||
$ echo 'CORRUPT!' >> .hg/fastannotate/default/a.m | ||||
$ hg fastannotate --debug -r 0 a | ||||
fastannotate: a: cache broken and deleted | ||||
fastannotate: a: 1 new changesets in the main branch | ||||
0: 0 | ||||
$ echo 'CORRUPT!' > .hg/fastannotate/default/a.l | ||||
$ hg fastannotate --debug -r 1 a | ||||
fastannotate: a: cache broken and deleted | ||||
fastannotate: a: 2 new changesets in the main branch | ||||
0: 0 | ||||
1: 1 | ||||
$ rm .hg/fastannotate/default/a.l | ||||
$ hg fastannotate --debug -r 1 a | ||||
fastannotate: a: using fast path (resolved fctx: True) | ||||
fastannotate: a: cache broken and deleted | ||||
fastannotate: a: 2 new changesets in the main branch | ||||
0: 0 | ||||
1: 1 | ||||
$ rm .hg/fastannotate/default/a.m | ||||
$ hg fastannotate --debug -r 2 a | ||||
fastannotate: a: cache broken and deleted | ||||
fastannotate: a: 3 new changesets in the main branch | ||||
0: 0 | ||||
1: 1 | ||||
2: 2 | ||||