diff --git a/tests/test-churn.out b/tests/test-churn.out deleted file mode 100644 --- a/tests/test-churn.out +++ /dev/null @@ -1,52 +0,0 @@ -% 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 -skipping malformed alias: not-an-alias -alias3 3 ************************************************************** -alias1 3 ************************************************************** -user2 2 ***************************************** -% churn with .hgchurn -skipping malformed alias: not-an-alias -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 diff --git a/tests/test-churn b/tests/test-churn.t old mode 100755 new mode 100644 rename from tests/test-churn rename to tests/test-churn.t --- a/tests/test-churn +++ b/tests/test-churn.t @@ -1,81 +1,141 @@ -#!/bin/sh + $ echo "[extensions]" >> $HGRCPATH + $ echo "churn=" >> $HGRCPATH + +create test repository -echo "[extensions]" >> $HGRCPATH -echo "churn=" >> $HGRCPATH + $ 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 -echo % create test repository -hg init repo -cd repo -echo a > a -hg ci -Am adda -u user1 -d 6:00 -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 -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 -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 + $ cd d + $ hg churn e + user1 1 *************************************************************** + +churn all + + $ hg churn + user3 3 *************************************************************** + user1 3 *************************************************************** + user2 2 ****************************************** + +churn excluding one dir -echo % churn separate directories -cd d -hg churn e -echo % churn all -hg churn -echo % churn excluding one dir -hg churn -X e -echo % churn up to rev 2 -hg churn -r :2 -cd .. -echo % churn with aliases -cat > ../aliases < ../aliases < user1 alias1 + > user3 alias3 + > not-an-alias + > EOF + +churn with .hgchurn -user3 alias3 -not-an-alias -EOF -hg churn --aliases ../aliases -echo % churn with .hgchurn -mv ../aliases .hgchurn -hg churn -rm .hgchurn -echo % churn with column specifier -COLUMNS=40 hg churn -echo % churn by hour -hg churn -f '%H' -s + $ 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 -echo % 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 -echo % churn --diffstat with color -hg --config extensions.color= churn --config color.mode=ansi \ - --diffstat --color=always + $ hg --config extensions.color= churn --config color.mode=ansi \ + > --diffstat --color=always + user1 +3/-1 +++++++++++++++++++++++++++++++++++++++++-------------- + user3 +3/-0 +++++++++++++++++++++++++++++++++++++++++ + user2 +2/-0 +++++++++++++++++++++++++++ + + +changeset number churn -echo % changeset number churn -hg churn -c + $ 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 -echo 'with space = no-space' >> ../aliases -echo a >> a -hg commit -m a -u 'with space' -d 15:00 -echo % churn with space in alias -hg churn --aliases ../aliases -r tip + $ hg churn --aliases ../aliases -r tip + no-space 1 ************************************************************ -cd .. + $ cd .. + + +issue 833: ZeroDivisionError -# issue 833: ZeroDivisionError -hg init issue-833 -cd issue-833 -touch foo -hg ci -Am foo -# this was failing with a ZeroDivisionError -hg churn -cd .. + $ 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 ..