tests/test-log
author Maxim Dounin <mdounin@mdounin.ru>
Sat, 29 Dec 2007 17:11:48 +0300
changeset 5811 180a3eee4b75
parent 4510 e0bc2c575044
child 7062 efc579fdaf69
permissions -rwxr-xr-x
Fix copies reporting in log and convert. If copy logged in file revision, we report copy for changeset only if file revisions linkrev points back to the changeset in question or both changeset parents contain different file revisions. This fixes extra copies reported when executable bit was changed for previously copied file.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2741
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     2
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     3
hg init a
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     4
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     5
cd a
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     6
echo a > a
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     7
hg ci -Ama -d '1 0'
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     8
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     9
hg cp a b
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    10
hg ci -mb -d '2 0'
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    11
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    12
mkdir dir
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    13
hg mv b dir
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    14
hg ci -mc -d '3 0'
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    15
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    16
hg mv a b
3837
7df171ea50cd Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents: 3718
diff changeset
    17
echo a > d
7df171ea50cd Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents: 3718
diff changeset
    18
hg add d
2741
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    19
hg ci -md -d '4 0'
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    20
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    21
hg mv dir/b e
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    22
hg ci -me -d '5 0'
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    23
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    24
hg log a
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    25
echo % -f, directory
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    26
hg log -f dir
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    27
echo % -f, but no args
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    28
hg log -f
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    29
echo % one rename
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    30
hg log -vf a
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    31
echo % many renames
ae5ce3454ef5 log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    32
hg log -vf e
2785
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    33
3197
e18c3d08528d Show copies in hg log.
Brendan Cully <brendan@kublai.com>
parents: 2901
diff changeset
    34
echo % log copies
e18c3d08528d Show copies in hg log.
Brendan Cully <brendan@kublai.com>
parents: 2901
diff changeset
    35
hg log -vC --template '{rev} {file_copies%filecopy}\n'
e18c3d08528d Show copies in hg log.
Brendan Cully <brendan@kublai.com>
parents: 2901
diff changeset
    36
3383
c7c6f1a45348 Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents: 3197
diff changeset
    37
echo % log copies, non-linear manifest
c7c6f1a45348 Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents: 3197
diff changeset
    38
hg up -C 3
c7c6f1a45348 Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents: 3197
diff changeset
    39
hg mv dir/b e
c7c6f1a45348 Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents: 3197
diff changeset
    40
echo foo > foo
c7c6f1a45348 Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents: 3197
diff changeset
    41
hg ci -Ame2 -d '6 0'
c7c6f1a45348 Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents: 3197
diff changeset
    42
hg log -vC --template '{rev} {file_copies%filecopy}\n' -r 5
c7c6f1a45348 Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents: 3197
diff changeset
    43
5811
180a3eee4b75 Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4510
diff changeset
    44
echo % log copies, execute bit set
180a3eee4b75 Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4510
diff changeset
    45
chmod +x e
180a3eee4b75 Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4510
diff changeset
    46
hg ci -me3 -d '7 0'
180a3eee4b75 Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4510
diff changeset
    47
hg log -vC --template '{rev} {file_copies%filecopy}\n' -r 6
180a3eee4b75 Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4510
diff changeset
    48
3837
7df171ea50cd Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents: 3718
diff changeset
    49
echo '% log -p d'
7df171ea50cd Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents: 3718
diff changeset
    50
hg log -pv d
7df171ea50cd Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents: 3718
diff changeset
    51
2785
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    52
# log --follow tests
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    53
hg init ../follow
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    54
cd ../follow
4510
e0bc2c575044 Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4180
diff changeset
    55
2785
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    56
echo base > base
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    57
hg ci -Ambase -d '1 0'
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    58
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    59
echo r1 >> base
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    60
hg ci -Amr1 -d '1 0'
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    61
echo r2 >> base
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    62
hg ci -Amr2 -d '1 0'
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    63
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    64
hg up -C 1
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    65
echo b1 > b1
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    66
hg ci -Amb1 -d '1 0'
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    67
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    68
echo % log -f
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    69
hg log -f
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    70
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    71
hg up -C 0
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    72
echo b2 > b2
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    73
hg ci -Amb2 -d '1 0'
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    74
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    75
echo % log -f -r 1:tip
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    76
hg log -f -r 1:tip
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    77
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    78
hg up -C 3
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    79
hg merge tip
4510
e0bc2c575044 Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4180
diff changeset
    80
e0bc2c575044 Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4180
diff changeset
    81
echo % log -r .  with two parents
e0bc2c575044 Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4180
diff changeset
    82
hg log -r .
e0bc2c575044 Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4180
diff changeset
    83
2785
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    84
hg ci -mm12 -d '1 0'
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    85
4510
e0bc2c575044 Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4180
diff changeset
    86
echo % log -r .  with one parent
e0bc2c575044 Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4180
diff changeset
    87
hg log -r .
e0bc2c575044 Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4180
diff changeset
    88
2785
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    89
echo postm >> b1
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    90
hg ci -Amb1.1 -d'1 0'
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    91
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    92
echo % log --follow-first
e7f70588af30 Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents: 2741
diff changeset
    93
hg log --follow-first
2901
9826af4841ef Test for log --prune.
Brendan Cully <brendan@kublai.com>
parents: 2785
diff changeset
    94
9826af4841ef Test for log --prune.
Brendan Cully <brendan@kublai.com>
parents: 2785
diff changeset
    95
echo % log -P 2
9826af4841ef Test for log --prune.
Brendan Cully <brendan@kublai.com>
parents: 2785
diff changeset
    96
hg log -P 2
3718
7db88b094b14 fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3383
diff changeset
    97
7db88b094b14 fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3383
diff changeset
    98
echo '% log -r ""'
7db88b094b14 fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3383
diff changeset
    99
hg log -r ''
7db88b094b14 fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3383
diff changeset
   100
7db88b094b14 fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3383
diff changeset
   101
exit 0