tests/test-churn.t
changeset 12095 80b0865b3fa5
parent 12069 7c3c44413bc1
child 12399 4fee1fd3de9a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-churn.t	Mon Aug 30 12:41:43 2010 +0900
@@ -0,0 +1,141 @@
+  $ 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
+  user3      3 ***************************************************************
+  user1      3 ***************************************************************
+  user2      2 ******************************************
+
+churn excluding one dir
+
+  $ hg churn -X e
+  user3      3 ***************************************************************
+  user2      2 ******************************************
+  user1      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
+  alias3      3 **************************************************************
+  alias1      3 **************************************************************
+  user2       2 *****************************************
+  $ rm .hgchurn
+
+churn with column specifier
+
+  $ COLUMNS=40 hg churn
+  user3      3 ***********************
+  user1      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
+  user1           +3/-1 +++++++++++++++++++++++++++++++++++++++++--------------
+  user3           +3/-0 +++++++++++++++++++++++++++++++++++++++++
+  user2           +2/-0 +++++++++++++++++++++++++++
+
+
+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 ..
+
+
+issue 833: ZeroDivisionError
+
+  $ 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 ..