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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 ..