Mercurial > hg
view tests/test-churn.t @ 39093:cc37009e95ca
rebase: add --stop option to stop rebase at any point (issue5206)
Before this patch, during a rebase if you get a point where you can't
figure out what to do next, then either you had to complete your series
or abandon all the work you have done during this rebase.
Now, with this feature you can stop at any point by keeping the rebased
csets and mark original csets as obsolete. And if you don't have evolution
extension enabled then you can use --keep option as an alternative which
will keep original csets too, instead of marking them obsolete.
Differential Revision: https://phab.mercurial-scm.org/D3959
author | Sushil khanchi <sushilkhanchi97@gmail.com> |
---|---|
date | Wed, 18 Jul 2018 00:25:52 +0530 |
parents | 1aee2ab0f902 |
children | 81e4f039a0cd |
line wrap: on
line source
$ 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 user1 3 *************************************************************** user3 3 *************************************************************** user2 2 ****************************************** churn excluding one dir $ hg churn -X e user3 3 *************************************************************** user1 2 ****************************************** 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 alias1 3 ************************************************************** alias3 3 ************************************************************** user2 2 ***************************************** $ rm .hgchurn churn with column specifier $ COLUMNS=40 hg churn user1 3 *********************** 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 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 ******************************************* user2 2 ***************************** user4@x.com 2 ***************************** with space 1 ************** 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 *************** Test --template argument, with backwards compatibility $ 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 ********************************************************* $ cd ..