mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 01:07:15 +03:00
fa1c4e5ebe
Many tests didn't change back from subdirectories at the end of the tests ... and they don't have to. The missing 'cd ..' could always be added when another test case is added to the test file. This change do that tests (99.5%) consistently end up in $TESTDIR where they started, thus making it simpler to extend them or move them around.
163 lines
4.3 KiB
Raku
163 lines
4.3 KiB
Raku
$ 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 \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)
|
|
|
|
|
|
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 ..
|
|
|
|
|
|
Issue833: 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 ..
|
|
|
|
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 *******************************************
|
|
user4@x.com 2 *****************************
|
|
user2 2 *****************************
|
|
with space 1 **************
|
|
|
|
$ cd ..
|