tests/test-ready.t
changeset 21 aa0870d093b8
child 22 93dd72d028a1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-ready.t	Mon Jun 06 16:42:56 2011 +0200
@@ -0,0 +1,129 @@
+  $ cat >> $HGRCPATH <<EOF
+  > [liquid]
+  > publish = False
+  > [extensions]
+  > graphlog=
+  > EOF
+  $ echo "states=$(echo $(dirname $TESTDIR))/states.py" >> $HGRCPATH
+
+  $ mkcommit() {
+  >    echo "$1" > "$1"
+  >    hg add "$1"
+  >    hg ci -m "add $1"
+  > }
+
+  $ hg init alpha
+  $ cd alpha
+  $ cat > .hg/hgrc << EOF
+  > [states]
+  > ready=yes
+  > EOF
+  $ mkcommit z
+  $ mkcommit a
+  $ mkcommit b
+  $ mkcommit c
+  $ hg published 1
+  $ hg log --graph
+  @  changeset:   3:090483935bca
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     add c
+  |
+  o  changeset:   2:720fd97246d7
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     add b
+  |
+  o  changeset:   1:7a344d213ee2
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     add a
+  |
+  o  changeset:   0:d32fd17cb041
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     add z
+  
+  $ cat .hg/states/published-heads
+  7a344d213ee2eb3359d94630d4e076460d59dbf0
+
+publishedheads() should return only revision 1:
+  $ hg log -r 'publishedheads()' --graph
+  o  changeset:   1:7a344d213ee2
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     add a
+  |
+
+ancestors of publishedheads shows all frozen revisions:
+  $ hg log -r '::publishedheads()' --graph
+  o  changeset:   1:7a344d213ee2
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     add a
+  |
+  o  changeset:   0:d32fd17cb041
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     add z
+  
+  $ cd ..
+  $ hg init beta
+  $ cd beta
+  $ cat > .hg/hgrc << EOF
+  > [states]
+  > ready=yes
+  > EOF
+  $ hg pull ../alpha --update
+  pulling from ../alpha
+  requesting all changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 4 changesets with 4 changes to 4 files
+  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg log --graph -r 'publishedheads()'
+  o  changeset:   1:7a344d213ee2
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     add a
+  |
+
+Freeze in beta and push to alpha:
+  $ hg published 3
+  $ mkcommit d
+  $ hg push --traceback ../alpha
+  pushing to ../alpha
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+  $ cd ../alpha
+  $ hg debugrevspec 'publishedheads()'
+  3
+  $ hg log --graph -r 'publishedheads()'
+  @  changeset:   3:090483935bca
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     add c
+  |
+
+  $ hg log -r tip
+  changeset:   4:fb98f3f5bba0
+  tag:         tip
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     add d
+  
+  $ mkcommit e
+  created new head
+  $ hg up -C 4
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ hg log -r 'publishedheads()'
+  changeset:   3:090483935bca
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     add c
+