Mercurial > evolve
view tests/test-states-exact.t @ 96:d5170cc7881c
[states] add --exact option to `hg <state> <nodes>` that allows to backward states bondaries
author | Alain Leufroy <alain.leufroy@logilab.fr> |
---|---|
date | Sun, 25 Sep 2011 12:43:00 +0200 |
parents | |
children |
line wrap: on
line source
$ cat >> $HGRCPATH <<EOF > [web] > push_ssl = false > allow_push = * > [extensions] > EOF $ echo "states=$(echo $(dirname $TESTDIR))/hgext/states.py" >> $HGRCPATH $ mkcommit() { > echo "$1" > "$1" > hg add "$1" > hg ci -m "$1" > } $ alias hglog='hg log --template "{desc|short} {rev} {state}\n"' $ hg init alpha $ cd alpha $ hg states ready draft $ mkcommit a $ mkcommit b $ mkcommit c $ mkcommit d $ mkcommit e $ mkcommit f |0 - 1 - 2 - 3 - 4 - 5 $ hg ready 3 $ hg published 1 $ hglog f 5 draft e 4 draft d 3 ready c 2 ready b 1 published a 0 published very simple case $ hg ready --exact 1 $ hglog f 5 draft e 4 draft d 3 ready c 2 ready b 1 ready a 0 published required state not in statesheads $ hg draft --exact 3 $ hglog f 5 draft e 4 draft d 3 draft c 2 ready b 1 ready a 0 published remove all other states $ hg draft --exact 0 $ hglog f 5 draft e 4 draft d 3 draft c 2 draft b 1 draft a 0 draft draft was not there before $ hg ready 5 $ hg draft --exact 4 $ hglog f 5 draft e 4 draft d 3 ready c 2 ready b 1 ready a 0 ready already in the required state $ hg draft --exact 5 $ hglog f 5 draft e 4 draft d 3 ready c 2 ready b 1 ready a 0 ready backward and foreward $ hg published 1 $ hg ready --exact 1:4 $ hglog f 5 draft e 4 ready d 3 ready c 2 ready b 1 ready a 0 published with complex revset $ hg draft --exact 'readyheads()' $ hglog f 5 draft e 4 draft d 3 ready c 2 ready b 1 ready a 0 published $ hg ready --exact 'publishedheads()' $ hglog f 5 draft e 4 draft d 3 ready c 2 ready b 1 ready a 0 ready Work with branches now $ hg up 1 0 files updated, 0 files merged, 4 files removed, 0 files unresolved $ mkcommit g created new head $ mkcommit h $ hg up 3 2 files updated, 0 files merged, 2 files removed, 0 files unresolved $ mkcommit i created new head $ mkcommit j | / - - - - 6 - 7 |0 - 1 - 2 - 3 - 4 - 5 | \ - - - - - - - - - - - - 8 - 9 Set the new branches as ready $ hg ready 9 7 $ hglog j 9 ready i 8 ready h 7 ready g 6 ready f 5 draft e 4 draft d 3 ready c 2 ready b 1 ready a 0 ready with composite revset $ hg draft --exact 5:5 7:8 $ hglog j 9 draft i 8 draft h 7 draft g 6 ready f 5 draft e 4 draft d 3 ready c 2 ready b 1 ready a 0 ready cross braches $ hg published 5 7 9 $ hg draft --exact 4:6 $ hglog j 9 published i 8 published h 7 draft g 6 draft f 5 draft e 4 draft d 3 published c 2 published b 1 published a 0 published Ok more complicated stuffs $ hg up 7 2 files updated, 0 files merged, 4 files removed, 0 files unresolved $ mkcommit k $ hg published 5 9 10 | / - - - - 6 - 7 - - - - - 10 |0 - 1 - 2 - 3 - 4 - 5 | \ - - - - - - - - - - - - 8 - 9 cross branches and propagation on the same branche $ hg draft --exact 5:8 $ hglog k 10 draft j 9 draft i 8 draft h 7 draft g 6 draft f 5 draft e 4 published d 3 published c 2 published b 1 published a 0 published cross branches and propagation on multiple branches $ hg published 10 $ hg ready --exact 3 6:8 $ hglog k 10 ready j 9 draft i 8 ready h 7 ready g 6 ready f 5 draft e 4 ready d 3 ready c 2 published b 1 published a 0 published propagate ready on multiple branches taht contains draft states $ hg ready --exact 1 $ hglog k 10 ready j 9 draft i 8 ready h 7 ready g 6 ready f 5 draft e 4 ready d 3 ready c 2 ready b 1 ready a 0 published brute propagation $ hg draft --exact 0 $ hglog k 10 draft j 9 draft i 8 draft h 7 draft g 6 draft f 5 draft e 4 draft d 3 draft c 2 draft b 1 draft a 0 draft forget non activated state $ hg init beta $ cd beta $ hg states draft $ mkcommit a $ mkcommit b $ mkcommit c $ mkcommit d $ mkcommit e $ mkcommit f $ hg published 5 $ hg draft --exact 3 $ hglog f 5 draft e 4 draft d 3 draft c 2 published b 1 published a 0 published $ hg states published draft $ hg ready 3 abort: state ready is not activated (try ``hg states ready`` before) [255] $ hglog f 5 draft e 4 draft d 3 draft c 2 published b 1 published a 0 published