diff -r a2e8057117d3 -r 6d461c2143a0 tests/test-states-exact.t --- a/tests/test-states-exact.t Mon Dec 19 12:19:00 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,282 +0,0 @@ - $ cat >> $HGRCPATH < [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 -