Mercurial > hg
annotate tests/test-log @ 4531:b51a8138292a
Avoid extra filelogs entries.
Right now, there are some situations in which localrepo.filecommit can
create filelog entries even though they're not needed. For example:
- permissions for a file have changed;
- qrefresh can create a filelog entry identical to its parent (see the
added test);
- convert-repo creates extra filelog entries in every merge where the
first parent has added files (for example, changeset ebebe9577a1a of
the kernel repo added extra filelog entries to files in the
arch/blackfin directory, even though the merge should only touch the
drivers/ata directory). This makes "hg log file" in a converted repo
less useful than it could be, since it may mention many merges that
don't actually touch that specific file.
They all come from the same basic problem: localrepo.commit (through
filecommit) creates new filelog entries for all files passed to it
(except for some cases during a merge).
Patch and test case provided by Benoit.
This should fix issue351.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sat, 09 Jun 2007 01:04:28 -0300 |
parents | e0bc2c575044 |
children | 180a3eee4b75 |
rev | line source |
---|---|
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 | 34 echo % log copies |
35 hg log -vC --template '{rev} {file_copies%filecopy}\n' | |
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 |
3837
7df171ea50cd
Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents:
3718
diff
changeset
|
44 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
|
45 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
|
46 |
2785
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
47 # log --follow tests |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
48 hg init ../follow |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
49 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
|
50 |
2785
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
51 echo base > base |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
52 hg ci -Ambase -d '1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
53 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
54 echo r1 >> base |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
55 hg ci -Amr1 -d '1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
56 echo r2 >> base |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
57 hg ci -Amr2 -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 hg up -C 1 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
60 echo b1 > b1 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
61 hg ci -Amb1 -d '1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
62 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
63 echo % log -f |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
64 hg log -f |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
65 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
66 hg up -C 0 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
67 echo b2 > b2 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
68 hg ci -Amb2 -d '1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
69 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
70 echo % log -f -r 1:tip |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
71 hg log -f -r 1:tip |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
72 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
73 hg up -C 3 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
74 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
|
75 |
e0bc2c575044
Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4180
diff
changeset
|
76 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
|
77 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
|
78 |
2785
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
79 hg ci -mm12 -d '1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
80 |
4510
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 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
|
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 echo postm >> b1 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
85 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
|
86 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
87 echo % log --follow-first |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
88 hg log --follow-first |
2901 | 89 |
90 echo % log -P 2 | |
91 hg log -P 2 | |
3718
7db88b094b14
fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3383
diff
changeset
|
92 |
7db88b094b14
fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3383
diff
changeset
|
93 echo '% log -r ""' |
7db88b094b14
fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3383
diff
changeset
|
94 hg log -r '' |
7db88b094b14
fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3383
diff
changeset
|
95 |
7db88b094b14
fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3383
diff
changeset
|
96 exit 0 |