view tests/test-churn.out @ 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 7c3c44413bc1
line wrap: on
line source

% create test repository
adding a
adding b
adding c
% churn separate directories
user1      1 ***************************************************************
% churn all
user3      3 ***************************************************************
user1      3 ***************************************************************
user2      2 ******************************************
% churn excluding one dir
user3      3 ***************************************************************
user2      2 ******************************************
user1      2 ******************************************
% churn up to rev 2
user2      2 ***************************************************************
user1      1 ********************************
% churn with aliases
alias3      3 **************************************************************
alias1      3 **************************************************************
user2       2 *****************************************
% churn with .hgchurn
alias3      3 **************************************************************
alias1      3 **************************************************************
user2       2 *****************************************
% churn with column specifier
user3      3 ***********************
user1      3 ***********************
user2      2 ***************
% churn by hour
06      1 *****************
09      2 *********************************
12      4 ******************************************************************
13      1 *****************
% churn with separated added/removed lines
user1           +3/-1 +++++++++++++++++++++++++++++++++++++++++--------------
user3           +3/-0 +++++++++++++++++++++++++++++++++++++++++
user2           +2/-0 +++++++++++++++++++++++++++
% churn --diffstat with color
user1           +3/-1 +++++++++++++++++++++++++++++++++++++++++--------------
user3           +3/-0 +++++++++++++++++++++++++++++++++++++++++
user2           +2/-0 +++++++++++++++++++++++++++
% changeset number churn
user1      4 ***************************************************************
user3      3 ***********************************************
user2      2 ********************************
% churn with space in alias
no-space      1 ************************************************************
adding foo
test      0