doc: update copyright years to 2012
I sometimes look at a piece of software and if the man page says
"Copyright 2004", then I'm inclined to think that the project is stale
or that the authors are lazy. Neither is good publicity for us :-)
$ HGMERGE=true; export HGMERGE
init
$ hg init repo
$ cd repo
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
$ 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
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
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
Issue589: "undelete" sequence leads to crash
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
missing file
$ hg ann nosuchfile
abort: nosuchfile: no such file in rev e9e6b4fa872f
[255]
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)
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
$ cat > a <<EOF
> a a
>
>
> 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