|
|
$ 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
|
|
|
$ sed 's/EOL$//g' > a <<EOF
|
|
|
> a a
|
|
|
>
|
|
|
> EOL
|
|
|
> 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
|
|
|
|
|
|
$ cd ..
|
|
|
|