test-annotate.t
453 lines
| 7.0 KiB
| text/troff
|
Tads3Lexer
/ tests / test-annotate.t
Martin Geisler
|
r11852 | $ HGMERGE=true; export HGMERGE | ||
init | ||||
Patrick Mezard
|
r15528 | $ hg init repo | ||
$ cd repo | ||||
Martin Geisler
|
r11852 | |||
commit | ||||
$ echo 'a' > a | ||||
$ hg ci -A -m test -u nobody -d '1 0' | ||||
adding a | ||||
annotate -c | ||||
$ hg annotate -c a | ||||
8435f90966e4: a | ||||
annotate -cl | ||||
$ hg annotate -cl a | ||||
8435f90966e4:1: a | ||||
annotate -d | ||||
$ hg annotate -d a | ||||
Thu Jan 01 00:00:01 1970 +0000: a | ||||
annotate -n | ||||
$ hg annotate -n a | ||||
0: a | ||||
annotate -nl | ||||
$ hg annotate -nl a | ||||
0:1: a | ||||
annotate -u | ||||
$ hg annotate -u a | ||||
nobody: a | ||||
annotate -cdnu | ||||
$ hg annotate -cdnu a | ||||
nobody 0 8435f90966e4 Thu Jan 01 00:00:01 1970 +0000: a | ||||
annotate -cdnul | ||||
$ hg annotate -cdnul a | ||||
nobody 0 8435f90966e4 Thu Jan 01 00:00:01 1970 +0000:1: a | ||||
Yuya Nishihara
|
r22480 | annotate (JSON) | ||
$ hg annotate -Tjson a | ||||
[ | ||||
{ | ||||
"line": "a\n", | ||||
"rev": 0 | ||||
} | ||||
] | ||||
$ hg annotate -Tjson -cdfnul a | ||||
[ | ||||
{ | ||||
"date": [1.0, 0], | ||||
"file": "a", | ||||
"line": "a\n", | ||||
"line_number": 1, | ||||
"node": "8435f90966e442695d2ded29fdade2bac5ad8065", | ||||
"rev": 0, | ||||
"user": "nobody" | ||||
} | ||||
] | ||||
Martin Geisler
|
r11852 | $ cat <<EOF >>a | ||
> a | ||||
> a | ||||
> EOF | ||||
$ hg ci -ma1 -d '1 0' | ||||
$ hg cp a b | ||||
$ hg ci -mb -d '1 0' | ||||
$ cat <<EOF >> b | ||||
> b4 | ||||
> b5 | ||||
> b6 | ||||
> EOF | ||||
$ hg ci -mb2 -d '2 0' | ||||
annotate -n b | ||||
$ hg annotate -n b | ||||
0: a | ||||
1: a | ||||
1: a | ||||
3: b4 | ||||
3: b5 | ||||
3: b6 | ||||
annotate --no-follow b | ||||
$ hg annotate --no-follow b | ||||
2: a | ||||
2: a | ||||
2: a | ||||
3: b4 | ||||
3: b5 | ||||
3: b6 | ||||
annotate -nl b | ||||
$ hg annotate -nl b | ||||
0:1: a | ||||
1:2: a | ||||
1:3: a | ||||
3:4: b4 | ||||
3:5: b5 | ||||
3:6: b6 | ||||
annotate -nf b | ||||
$ hg annotate -nf b | ||||
0 a: a | ||||
1 a: a | ||||
1 a: a | ||||
3 b: b4 | ||||
3 b: b5 | ||||
3 b: b6 | ||||
annotate -nlf b | ||||
$ hg annotate -nlf b | ||||
0 a:1: a | ||||
1 a:2: a | ||||
1 a:3: a | ||||
3 b:4: b4 | ||||
3 b:5: b5 | ||||
3 b:6: b6 | ||||
$ hg up -C 2 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cat <<EOF >> b | ||||
> b4 | ||||
> c | ||||
> b5 | ||||
> EOF | ||||
$ hg ci -mb2.1 -d '2 0' | ||||
created new head | ||||
$ hg merge | ||||
merging b | ||||
0 files updated, 1 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg ci -mmergeb -d '3 0' | ||||
annotate after merge | ||||
$ hg annotate -nf b | ||||
0 a: a | ||||
1 a: a | ||||
1 a: a | ||||
3 b: b4 | ||||
4 b: c | ||||
3 b: b5 | ||||
annotate after merge with -l | ||||
$ hg annotate -nlf b | ||||
0 a:1: a | ||||
1 a:2: a | ||||
1 a:3: a | ||||
3 b:4: b4 | ||||
4 b:5: c | ||||
3 b:5: b5 | ||||
$ hg up -C 1 | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg cp a b | ||||
$ cat <<EOF > b | ||||
> a | ||||
> z | ||||
> a | ||||
> EOF | ||||
$ hg ci -mc -d '3 0' | ||||
created new head | ||||
$ hg merge | ||||
merging b | ||||
0 files updated, 1 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ cat <<EOF >> b | ||||
> b4 | ||||
> c | ||||
> b5 | ||||
> EOF | ||||
$ echo d >> b | ||||
$ hg ci -mmerge2 -d '4 0' | ||||
annotate after rename merge | ||||
$ hg annotate -nf b | ||||
0 a: a | ||||
6 b: z | ||||
1 a: a | ||||
3 b: b4 | ||||
4 b: c | ||||
3 b: b5 | ||||
7 b: d | ||||
annotate after rename merge with -l | ||||
$ hg annotate -nlf b | ||||
0 a:1: a | ||||
6 b:2: z | ||||
1 a:3: a | ||||
3 b:4: b4 | ||||
4 b:5: c | ||||
3 b:5: b5 | ||||
7 b:7: d | ||||
Thomas Arendsen Hein
|
r14358 | Issue2807: alignment of line numbers with -l | ||
$ echo more >> b | ||||
$ hg ci -mmore -d '5 0' | ||||
$ echo more >> b | ||||
$ hg ci -mmore -d '6 0' | ||||
$ echo more >> b | ||||
$ hg ci -mmore -d '7 0' | ||||
$ hg annotate -nlf b | ||||
0 a: 1: a | ||||
6 b: 2: z | ||||
1 a: 3: a | ||||
3 b: 4: b4 | ||||
4 b: 5: c | ||||
3 b: 5: b5 | ||||
7 b: 7: d | ||||
8 b: 8: more | ||||
9 b: 9: more | ||||
10 b:10: more | ||||
Martin Geisler
|
r11852 | linkrev vs rev | ||
$ hg annotate -r tip -n a | ||||
0: a | ||||
1: a | ||||
1: a | ||||
linkrev vs rev with -l | ||||
$ hg annotate -r tip -nl a | ||||
0:1: a | ||||
1:2: a | ||||
1:3: a | ||||
Martin Geisler
|
r12399 | Issue589: "undelete" sequence leads to crash | ||
Martin Geisler
|
r11852 | |||
annotate was crashing when trying to --follow something | ||||
like A -> B -> A | ||||
generate ABA rename configuration | ||||
$ echo foo > foo | ||||
$ hg add foo | ||||
$ hg ci -m addfoo | ||||
$ hg rename foo bar | ||||
$ hg ci -m renamefoo | ||||
$ hg rename bar foo | ||||
$ hg ci -m renamebar | ||||
annotate after ABA with follow | ||||
$ hg annotate --follow foo | ||||
foo: foo | ||||
Matt Mackall
|
r13697 | missing file | ||
$ hg ann nosuchfile | ||||
Thomas Arendsen Hein
|
r14358 | abort: nosuchfile: no such file in rev e9e6b4fa872f | ||
Matt Mackall
|
r13697 | [255] | ||
Patrick Mezard
|
r15528 | |||
Ion Savin
|
r15829 | annotate file without '\n' on last line | ||
$ printf "" > c | ||||
$ hg ci -A -m test -u nobody -d '1 0' | ||||
adding c | ||||
$ hg annotate c | ||||
$ printf "a\nb" > c | ||||
$ hg ci -m test | ||||
$ hg annotate c | ||||
[0-9]+: a (re) | ||||
[0-9]+: b (re) | ||||
FUJIWARA Katsunori
|
r18993 | Issue3841: check annotation of the file of which filelog includes | ||
merging between the revision and its ancestor | ||||
to reproduce the situation with recent Mercurial, this script uses (1) | ||||
"hg debugsetparents" to merge without ancestor check by "hg merge", | ||||
and (2) the extension to allow filelog merging between the revision | ||||
and its ancestor by overriding "repo._filecommit". | ||||
$ cat > ../legacyrepo.py <<EOF | ||||
> from mercurial import node, util | ||||
> def reposetup(ui, repo): | ||||
> class legacyrepo(repo.__class__): | ||||
> def _filecommit(self, fctx, manifest1, manifest2, | ||||
> linkrev, tr, changelist): | ||||
> fname = fctx.path() | ||||
> text = fctx.data() | ||||
> flog = self.file(fname) | ||||
> fparent1 = manifest1.get(fname, node.nullid) | ||||
> fparent2 = manifest2.get(fname, node.nullid) | ||||
> meta = {} | ||||
> copy = fctx.renamed() | ||||
> if copy and copy[0] != fname: | ||||
> raise util.Abort('copying is not supported') | ||||
> if fparent2 != node.nullid: | ||||
> changelist.append(fname) | ||||
> return flog.add(text, meta, tr, linkrev, | ||||
> fparent1, fparent2) | ||||
> raise util.Abort('only merging is supported') | ||||
> repo.__class__ = legacyrepo | ||||
> EOF | ||||
$ cat > baz <<EOF | ||||
> 1 | ||||
> 2 | ||||
> 3 | ||||
> 4 | ||||
> 5 | ||||
> EOF | ||||
$ hg add baz | ||||
$ hg commit -m "baz:0" | ||||
$ cat > baz <<EOF | ||||
> 1 baz:1 | ||||
> 2 | ||||
> 3 | ||||
> 4 | ||||
> 5 | ||||
> EOF | ||||
$ hg commit -m "baz:1" | ||||
$ cat > baz <<EOF | ||||
> 1 baz:1 | ||||
> 2 baz:2 | ||||
> 3 | ||||
> 4 | ||||
> 5 | ||||
> EOF | ||||
$ hg debugsetparents 17 17 | ||||
$ hg --config extensions.legacyrepo=../legacyrepo.py commit -m "baz:2" | ||||
$ hg debugindexdot .hg/store/data/baz.i | ||||
digraph G { | ||||
-1 -> 0 | ||||
0 -> 1 | ||||
1 -> 2 | ||||
1 -> 2 | ||||
} | ||||
$ hg annotate baz | ||||
17: 1 baz:1 | ||||
18: 2 baz:2 | ||||
16: 3 | ||||
16: 4 | ||||
16: 5 | ||||
$ cat > baz <<EOF | ||||
> 1 baz:1 | ||||
> 2 baz:2 | ||||
> 3 baz:3 | ||||
> 4 | ||||
> 5 | ||||
> EOF | ||||
$ hg commit -m "baz:3" | ||||
$ cat > baz <<EOF | ||||
> 1 baz:1 | ||||
> 2 baz:2 | ||||
> 3 baz:3 | ||||
> 4 baz:4 | ||||
> 5 | ||||
> EOF | ||||
$ hg debugsetparents 19 18 | ||||
$ hg --config extensions.legacyrepo=../legacyrepo.py commit -m "baz:4" | ||||
$ hg debugindexdot .hg/store/data/baz.i | ||||
digraph G { | ||||
-1 -> 0 | ||||
0 -> 1 | ||||
1 -> 2 | ||||
1 -> 2 | ||||
2 -> 3 | ||||
3 -> 4 | ||||
2 -> 4 | ||||
} | ||||
$ hg annotate baz | ||||
17: 1 baz:1 | ||||
18: 2 baz:2 | ||||
19: 3 baz:3 | ||||
20: 4 baz:4 | ||||
16: 5 | ||||
Patrick Mezard
|
r15528 | Test annotate with whitespace options | ||
$ cd .. | ||||
$ hg init repo-ws | ||||
$ cd repo-ws | ||||
$ cat > a <<EOF | ||||
> aa | ||||
> | ||||
> b b | ||||
> EOF | ||||
$ hg ci -Am "adda" | ||||
adding a | ||||
Mads Kiilerich
|
r17347 | $ sed 's/EOL$//g' > a <<EOF | ||
Patrick Mezard
|
r15528 | > a a | ||
> | ||||
Mads Kiilerich
|
r17347 | > EOL | ||
Patrick Mezard
|
r15528 | > b b | ||
> EOF | ||||
$ hg ci -m "changea" | ||||
Annotate with no option | ||||
$ hg annotate a | ||||
1: a a | ||||
0: | ||||
1: | ||||
1: b b | ||||
Annotate with --ignore-space-change | ||||
$ hg annotate --ignore-space-change a | ||||
1: a a | ||||
1: | ||||
0: | ||||
0: b b | ||||
Annotate with --ignore-all-space | ||||
$ hg annotate --ignore-all-space a | ||||
0: a a | ||||
0: | ||||
1: | ||||
0: b b | ||||
Annotate with --ignore-blank-lines (similar to no options case) | ||||
$ hg annotate --ignore-blank-lines a | ||||
1: a a | ||||
0: | ||||
1: | ||||
1: b b | ||||
Mads Kiilerich
|
r16913 | $ cd .. | ||