--- /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
+