Mercurial > hg
annotate tests/test-churn @ 11988:8380ed691df8
util: add an interpolate() function to for replacing multiple values
util.interpolate can be used to replace multiple items in a string all at once
(and optionally apply a function to the replacement), without worrying about
recursing:
>>> import util
>>> s = '$foo, $spam'
>>> util.interpolate(r'\$', { 'foo': 'bar', 'spam': 'eggs' }, s)
'bar, eggs'
>>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s)
'spam, foo'
>>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s, lambda s: s.upper())
'SPAM, FOO'
The patch also changes filemerge.py to use this new function.
author | Steve Losh <steve@stevelosh.com> |
---|---|
date | Wed, 18 Aug 2010 18:18:26 -0400 |
parents | ffd85ab578be |
children | 2e7647d25458 |
rev | line source |
---|---|
6348
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
1 #!/bin/sh |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
2 |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
3 echo "[extensions]" >> $HGRCPATH |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
4 echo "churn=" >> $HGRCPATH |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
5 |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
6 echo % create test repository |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
7 hg init repo |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
8 cd repo |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
9 echo a > a |
7070
2627ef59195d
churn and stats commands merged
Alexander Solovyov <piranha@piranha.org.ua>
parents:
6449
diff
changeset
|
10 hg ci -Am adda -u user1 -d 6:00 |
6348
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
11 echo b >> a |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
12 echo b > b |
7070
2627ef59195d
churn and stats commands merged
Alexander Solovyov <piranha@piranha.org.ua>
parents:
6449
diff
changeset
|
13 hg ci -m changeba -u user2 -d 9:00 a |
2627ef59195d
churn and stats commands merged
Alexander Solovyov <piranha@piranha.org.ua>
parents:
6449
diff
changeset
|
14 hg ci -Am addb -u user2 -d 9:30 |
6348
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
15 echo c >> a |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
16 echo c >> b |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
17 echo c > c |
7070
2627ef59195d
churn and stats commands merged
Alexander Solovyov <piranha@piranha.org.ua>
parents:
6449
diff
changeset
|
18 hg ci -m changeca -u user3 -d 12:00 a |
2627ef59195d
churn and stats commands merged
Alexander Solovyov <piranha@piranha.org.ua>
parents:
6449
diff
changeset
|
19 hg ci -m changecb -u user3 -d 12:15 b |
2627ef59195d
churn and stats commands merged
Alexander Solovyov <piranha@piranha.org.ua>
parents:
6449
diff
changeset
|
20 hg ci -Am addc -u user3 -d 12:30 |
7870
7bcce39e8f07
Returns lines changed for paths specified as arguments correctly.
madhu@madhu
parents:
7070
diff
changeset
|
21 mkdir -p d/e |
7bcce39e8f07
Returns lines changed for paths specified as arguments correctly.
madhu@madhu
parents:
7070
diff
changeset
|
22 echo abc > d/e/f1.txt |
7bcce39e8f07
Returns lines changed for paths specified as arguments correctly.
madhu@madhu
parents:
7070
diff
changeset
|
23 hg ci -Am "add d/e/f1.txt" -u user1 -d 12:45 d/e/f1.txt |
7bcce39e8f07
Returns lines changed for paths specified as arguments correctly.
madhu@madhu
parents:
7070
diff
changeset
|
24 mkdir -p d/g |
7bcce39e8f07
Returns lines changed for paths specified as arguments correctly.
madhu@madhu
parents:
7070
diff
changeset
|
25 echo def > d/g/f2.txt |
7bcce39e8f07
Returns lines changed for paths specified as arguments correctly.
madhu@madhu
parents:
7070
diff
changeset
|
26 hg ci -Am "add d/g/f2.txt" -u user1 -d 13:00 d/g/f2.txt |
6348
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
27 |
7870
7bcce39e8f07
Returns lines changed for paths specified as arguments correctly.
madhu@madhu
parents:
7070
diff
changeset
|
28 echo % churn separate directories |
9321
d7b6429c5ad4
churn: correct output when run in subdirectories
Brendan Cully <brendan@kublai.com>
parents:
8254
diff
changeset
|
29 cd d |
d7b6429c5ad4
churn: correct output when run in subdirectories
Brendan Cully <brendan@kublai.com>
parents:
8254
diff
changeset
|
30 hg churn e |
6348
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
31 echo % churn all |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
32 hg churn |
11265
ffd85ab578be
churn: add possibility to include/exclude paths
Alexander Solovyov <piranha@piranha.org.ua>
parents:
11264
diff
changeset
|
33 echo % churn excluding one dir |
ffd85ab578be
churn: add possibility to include/exclude paths
Alexander Solovyov <piranha@piranha.org.ua>
parents:
11264
diff
changeset
|
34 hg churn -X e |
7070
2627ef59195d
churn and stats commands merged
Alexander Solovyov <piranha@piranha.org.ua>
parents:
6449
diff
changeset
|
35 echo % churn up to rev 2 |
2627ef59195d
churn and stats commands merged
Alexander Solovyov <piranha@piranha.org.ua>
parents:
6449
diff
changeset
|
36 hg churn -r :2 |
9321
d7b6429c5ad4
churn: correct output when run in subdirectories
Brendan Cully <brendan@kublai.com>
parents:
8254
diff
changeset
|
37 cd .. |
6348
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
38 echo % churn with aliases |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
39 cat > ../aliases <<EOF |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
40 user1 alias1 |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
41 user3 alias3 |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
42 EOF |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
43 hg churn --aliases ../aliases |
8254
f108e89400d8
churn: use .hgchurn in repo root as default map file
Martin Geisler <mg@lazybytes.net>
parents:
7870
diff
changeset
|
44 echo % churn with .hgchurn |
f108e89400d8
churn: use .hgchurn in repo root as default map file
Martin Geisler <mg@lazybytes.net>
parents:
7870
diff
changeset
|
45 mv ../aliases .hgchurn |
f108e89400d8
churn: use .hgchurn in repo root as default map file
Martin Geisler <mg@lazybytes.net>
parents:
7870
diff
changeset
|
46 hg churn |
f108e89400d8
churn: use .hgchurn in repo root as default map file
Martin Geisler <mg@lazybytes.net>
parents:
7870
diff
changeset
|
47 rm .hgchurn |
6348
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
48 echo % churn with column specifier |
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
49 COLUMNS=40 hg churn |
7070
2627ef59195d
churn and stats commands merged
Alexander Solovyov <piranha@piranha.org.ua>
parents:
6449
diff
changeset
|
50 echo % churn by hour |
2627ef59195d
churn and stats commands merged
Alexander Solovyov <piranha@piranha.org.ua>
parents:
6449
diff
changeset
|
51 hg churn -f '%H' -s |
6348
f8feaa665319
Make churn an official extension
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
52 |
9669
9b127e888640
churn: ability to display added/removed lines separately
Alexander Solovyov <piranha@piranha.org.ua>
parents:
9389
diff
changeset
|
53 echo % churn with separated added/removed lines |
9b127e888640
churn: ability to display added/removed lines separately
Alexander Solovyov <piranha@piranha.org.ua>
parents:
9389
diff
changeset
|
54 hg rm d/g/f2.txt |
9b127e888640
churn: ability to display added/removed lines separately
Alexander Solovyov <piranha@piranha.org.ua>
parents:
9389
diff
changeset
|
55 hg ci -Am "removed d/g/f2.txt" -u user1 -d 14:00 d/g/f2.txt |
9b127e888640
churn: ability to display added/removed lines separately
Alexander Solovyov <piranha@piranha.org.ua>
parents:
9389
diff
changeset
|
56 hg churn --diffstat |
10826
717c35d55fb3
color: colorize based on output labels instead of parsing output
Brodie Rao <brodie@bitheap.org>
parents:
9913
diff
changeset
|
57 echo % churn --diffstat with color |
11141
df5d1d571d27
tests: force color ansi mode on Windows
Patrick Mezard <pmezard@gmail.com>
parents:
10826
diff
changeset
|
58 hg --config extensions.color= churn --config color.mode=ansi \ |
df5d1d571d27
tests: force color ansi mode on Windows
Patrick Mezard <pmezard@gmail.com>
parents:
10826
diff
changeset
|
59 --diffstat --color=always |
9669
9b127e888640
churn: ability to display added/removed lines separately
Alexander Solovyov <piranha@piranha.org.ua>
parents:
9389
diff
changeset
|
60 |
9670
7d56b6ffef72
churn: fix changeset count (broken by 9b127e888640)
Alexander Solovyov <piranha@piranha.org.ua>
parents:
9669
diff
changeset
|
61 echo % changeset number churn |
7d56b6ffef72
churn: fix changeset count (broken by 9b127e888640)
Alexander Solovyov <piranha@piranha.org.ua>
parents:
9669
diff
changeset
|
62 hg churn -c |
7d56b6ffef72
churn: fix changeset count (broken by 9b127e888640)
Alexander Solovyov <piranha@piranha.org.ua>
parents:
9669
diff
changeset
|
63 |
11264
30c620e48d1c
churn: support spaces in aliases (issue2222)
Alexander Solovyov <piranha@piranha.org.ua>
parents:
11141
diff
changeset
|
64 echo 'with space = no-space' >> ../aliases |
30c620e48d1c
churn: support spaces in aliases (issue2222)
Alexander Solovyov <piranha@piranha.org.ua>
parents:
11141
diff
changeset
|
65 echo a >> a |
30c620e48d1c
churn: support spaces in aliases (issue2222)
Alexander Solovyov <piranha@piranha.org.ua>
parents:
11141
diff
changeset
|
66 hg commit -m a -u 'with space' -d 15:00 |
30c620e48d1c
churn: support spaces in aliases (issue2222)
Alexander Solovyov <piranha@piranha.org.ua>
parents:
11141
diff
changeset
|
67 echo % churn with space in alias |
30c620e48d1c
churn: support spaces in aliases (issue2222)
Alexander Solovyov <piranha@piranha.org.ua>
parents:
11141
diff
changeset
|
68 hg churn --aliases ../aliases -r tip |
30c620e48d1c
churn: support spaces in aliases (issue2222)
Alexander Solovyov <piranha@piranha.org.ua>
parents:
11141
diff
changeset
|
69 |
9388
f7968bba2307
churn: issue833 was reintroduced in 9bc46d069a76, correct it and add a test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8254
diff
changeset
|
70 cd .. |
f7968bba2307
churn: issue833 was reintroduced in 9bc46d069a76, correct it and add a test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8254
diff
changeset
|
71 |
f7968bba2307
churn: issue833 was reintroduced in 9bc46d069a76, correct it and add a test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8254
diff
changeset
|
72 # issue 833: ZeroDivisionError |
f7968bba2307
churn: issue833 was reintroduced in 9bc46d069a76, correct it and add a test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8254
diff
changeset
|
73 hg init issue-833 |
f7968bba2307
churn: issue833 was reintroduced in 9bc46d069a76, correct it and add a test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8254
diff
changeset
|
74 cd issue-833 |
f7968bba2307
churn: issue833 was reintroduced in 9bc46d069a76, correct it and add a test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8254
diff
changeset
|
75 touch foo |
f7968bba2307
churn: issue833 was reintroduced in 9bc46d069a76, correct it and add a test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8254
diff
changeset
|
76 hg ci -Am foo |
f7968bba2307
churn: issue833 was reintroduced in 9bc46d069a76, correct it and add a test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8254
diff
changeset
|
77 # this was failing with a ZeroDivisionError |
f7968bba2307
churn: issue833 was reintroduced in 9bc46d069a76, correct it and add a test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8254
diff
changeset
|
78 hg churn |
f7968bba2307
churn: issue833 was reintroduced in 9bc46d069a76, correct it and add a test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8254
diff
changeset
|
79 cd .. |