##// END OF EJS Templates
show: construct changeset templater during dispatch...
show: construct changeset templater during dispatch Previously, we constructed a formatter from a specific template topic. Then from show() we reached into the internals of the formatter to resolve a template string to be used to construct a changeset templater. A downside to this approach was it limited us to having the entire template defined in a single entry in the map file. You couldn't reference other entries in the map file and this would lead to long templates and redundancy in the map file. This commit teaches @showview how to instantiate a changeset templater so we can construct a templater with full access to the map file. To prove it works, we've split "showwork" into components.

File last commit:

r26781:1aee2ab0 default
r33046:11f76825 default
Show More
test-churn.t
197 lines | 5.6 KiB | text/troff | Tads3Lexer
Nicolas Dumazet
tests: unify test-churn
r12095 $ echo "[extensions]" >> $HGRCPATH
$ echo "churn=" >> $HGRCPATH
create test repository
$ hg init repo
$ cd repo
$ echo a > a
$ hg ci -Am adda -u user1 -d 6:00
adding a
$ echo b >> a
$ echo b > b
$ hg ci -m changeba -u user2 -d 9:00 a
$ hg ci -Am addb -u user2 -d 9:30
adding b
$ echo c >> a
$ echo c >> b
$ echo c > c
$ hg ci -m changeca -u user3 -d 12:00 a
$ hg ci -m changecb -u user3 -d 12:15 b
$ hg ci -Am addc -u user3 -d 12:30
adding c
$ mkdir -p d/e
$ echo abc > d/e/f1.txt
$ hg ci -Am "add d/e/f1.txt" -u user1 -d 12:45 d/e/f1.txt
$ mkdir -p d/g
$ echo def > d/g/f2.txt
$ hg ci -Am "add d/g/f2.txt" -u user1 -d 13:00 d/g/f2.txt
churn separate directories
$ cd d
$ hg churn e
user1 1 ***************************************************************
churn all
$ hg churn
Mads Kiilerich
churn: sort users with same churn by name...
r18369 user1 3 ***************************************************************
Nicolas Dumazet
tests: unify test-churn
r12095 user3 3 ***************************************************************
user2 2 ******************************************
churn excluding one dir
$ hg churn -X e
user3 3 ***************************************************************
Mads Kiilerich
churn: sort users with same churn by name...
r18369 user1 2 ******************************************
Nicolas Dumazet
tests: unify test-churn
r12095 user2 2 ******************************************
churn up to rev 2
$ hg churn -r :2
user2 2 ***************************************************************
user1 1 ********************************
$ cd ..
churn with aliases
$ cat > ../aliases <<EOF
> user1 alias1
> user3 alias3
> not-an-alias
> EOF
churn with .hgchurn
$ mv ../aliases .hgchurn
$ hg churn
skipping malformed alias: not-an-alias
Mads Kiilerich
churn: sort users with same churn by name...
r18369 alias1 3 **************************************************************
Nicolas Dumazet
tests: unify test-churn
r12095 alias3 3 **************************************************************
user2 2 *****************************************
$ rm .hgchurn
churn with column specifier
$ COLUMNS=40 hg churn
Mads Kiilerich
churn: sort users with same churn by name...
r18369 user1 3 ***********************
Nicolas Dumazet
tests: unify test-churn
r12095 user3 3 ***********************
user2 2 ***************
churn by hour
$ hg churn -f '%H' -s
06 1 *****************
09 2 *********************************
12 4 ******************************************************************
13 1 *****************
churn with separated added/removed lines
$ hg rm d/g/f2.txt
$ hg ci -Am "removed d/g/f2.txt" -u user1 -d 14:00 d/g/f2.txt
$ hg churn --diffstat
user1 +3/-1 +++++++++++++++++++++++++++++++++++++++++--------------
user3 +3/-0 +++++++++++++++++++++++++++++++++++++++++
user2 +2/-0 +++++++++++++++++++++++++++
churn --diffstat with color
$ hg --config extensions.color= churn --config color.mode=ansi \
> --diffstat --color=always
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
r12942 user1 +3/-1 \x1b[0;32m+++++++++++++++++++++++++++++++++++++++++\x1b[0m\x1b[0;31m--------------\x1b[0m (esc)
user3 +3/-0 \x1b[0;32m+++++++++++++++++++++++++++++++++++++++++\x1b[0m (esc)
user2 +2/-0 \x1b[0;32m+++++++++++++++++++++++++++\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-churn
r12095
changeset number churn
$ hg churn -c
user1 4 ***************************************************************
user3 3 ***********************************************
user2 2 ********************************
$ echo 'with space = no-space' >> ../aliases
$ echo a >> a
$ hg commit -m a -u 'with space' -d 15:00
churn with space in alias
$ hg churn --aliases ../aliases -r tip
no-space 1 ************************************************************
$ cd ..
Martin Geisler
tests: added a short description to issue numbers...
r12399 Issue833: ZeroDivisionError
Nicolas Dumazet
tests: unify test-churn
r12095
$ hg init issue-833
$ cd issue-833
$ touch foo
$ hg ci -Am foo
adding foo
this was failing with a ZeroDivisionError
$ hg churn
test 0
$ cd ..
Nicolas Dumazet
churn: ignore trailing and leading spaces (issue2546)
r13123
Ignore trailing or leading spaces in emails
$ cd repo
$ touch bar
$ hg ci -Am'bar' -u 'user4 <user4@x.com>'
adding bar
$ touch foo
$ hg ci -Am'foo' -u 'user4 < user4@x.com >'
adding foo
$ hg log -l2 --template '[{author|email}]\n'
[ user4@x.com ]
[user4@x.com]
$ hg churn -c
user1 4 *********************************************************
user3 3 *******************************************
Mads Kiilerich
churn: sort users with same churn by name...
r18369 user2 2 *****************************
Nicolas Dumazet
churn: ignore trailing and leading spaces (issue2546)
r13123 user4@x.com 2 *****************************
with space 1 **************
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
Isaac Jurado
churn: compute padding with unicode strings...
r21163 Test multibyte sequences in names
$ echo bar >> bar
$ hg --encoding utf-8 ci -m'changed bar' -u 'El Niño <nino@x.com>'
$ hg --encoding utf-8 churn -ct '{author|person}'
user1 4 **********************************************************
user3 3 ********************************************
user2 2 *****************************
user4 2 *****************************
El Ni\xc3\xb1o 1 *************** (esc)
with space 1 ***************
Mads Kiilerich
spelling: trivial spell checking
r26781 Test --template argument, with backwards compatibility
Jordi Gutiérrez Hermoso
churn: deprecate -t option in favour of -T...
r24139
$ hg churn -t '{author|user}'
user1 4 ***************************************************************
user3 3 ***********************************************
user2 2 ********************************
nino 1 ****************
with 1 ****************
0
user4 0
$ hg churn -T '{author|user}'
user1 4 ***************************************************************
user3 3 ***********************************************
user2 2 ********************************
nino 1 ****************
with 1 ****************
0
user4 0
$ hg churn -t 'alltogether'
alltogether 11 *********************************************************
$ hg churn -T 'alltogether'
alltogether 11 *********************************************************
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..