diff -r 47ba990eff0e -r 6312fc525a54 tests/test-draft.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-draft.t Wed May 25 02:04:12 2011 +0200 @@ -0,0 +1,209 @@ + $ cat >> $HGRCPATH < [web] + > push_ssl = false + > allow_push = * + > [extensions] + > EOF + $ echo "states=$(echo $(dirname $TESTDIR))/states.py" >> $HGRCPATH + + $ hg init local + $ hg init remote1 + $ hg init remote2 + $ cd local + $ echo "celestine" > babar + $ hg add babar + $ hg ci -m "add babar" + $ echo "la veille dame" > babar + $ hg ci -m "add dame" + $ hg log --template='{rev}:{node|short}: {state}\n' + 1:710fe444b3b0: published + 0:5caa672bac26: published + $ hg out ../remote1 --template='{rev}:{node|short}\n' + comparing with ../remote1 + searching for changes + 0:5caa672bac26 + 1:710fe444b3b0 + $ hg push ../remote1 + pushing to ../remote1 + searching for changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 1 files + $ hg setstate published 1 # until we fix push + $ echo "tree" >> savanna + $ hg add savanna + $ hg ci -m "terrain" + $ echo "flore" >> babar + $ hg ci -m "children" + $ hg log --template='{rev}:{node|short}: {state}\n' + 3:73585b17392a: published + 2:3c8695235a32: published + 1:710fe444b3b0: published + 0:5caa672bac26: published + +turn draft on (repo side) + $ cat > .hg/hgrc << EOF + > [states] + > draft=yes + > EOF + $ hg log --template='{rev}:{node|short}: {state}\n' + 3:73585b17392a: draft + 2:3c8695235a32: draft + 1:710fe444b3b0: published + 0:5caa672bac26: published + +test outgoing and push + $ hg out ../remote1 --template='{rev}:{node|short}\n' + comparing with ../remote1 + searching for changes + no changes found + [1] + $ hg push ../remote1 + pushing to ../remote1 + searching for changes + no changes found + + $ hg out ../remote2 --template='{rev}:{node|short}\n' + comparing with ../remote2 + searching for changes + 0:5caa672bac26 + 1:710fe444b3b0 + $ hg push ../remote2 + pushing to ../remote2 + searching for changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 1 files + +turn draft off again (repo side) + $ sed -i 's/^draft=.*$/draft=no/' .hg/hgrc + $ hg log --template='{rev}:{node|short}: {state}\n' + 3:73585b17392a: published + 2:3c8695235a32: published + 1:710fe444b3b0: published + 0:5caa672bac26: published + $ hg out ../remote1 --template='{rev}:{node|short}\n' + comparing with ../remote1 + searching for changes + 2:3c8695235a32 + 3:73585b17392a + +turn draft on again (repo side) + $ sed -i 's/^draft=.*$/draft=yes/' .hg/hgrc + +test incoming and pull + + $ hg init ../other1 + $ cd ../other1 + $ hg incoming ../local --template='{rev}:{node|short}\n' + comparing with ../local + 0:5caa672bac26 + 1:710fe444b3b0 + $ hg pull ../local + pulling from ../local + requesting all changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 1 files + (run 'hg update' to get a working copy) + $ hg log --template='{rev}:{node|short}\n' + 1:710fe444b3b0 + 0:5caa672bac26 + $ cd .. + $ hg clone local other2 + requesting all changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 1 files + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg -R other2 log --template='{rev}:{node|short}\n' + 1:710fe444b3b0 + 0:5caa672bac26 + +test on http + + $ hg -R local serve -p $HGPORT -d --pid-file=local.pid + $ cat local.pid >> "$DAEMON_PIDS" + $ hg clone http://localhost:$HGPORT/ fromhttp + requesting all changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 1 files + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg -R fromhttp log --template='{rev}:{node|short}\n' + 1:710fe444b3b0 + 0:5caa672bac26 + + $ hg init fromhttp2 + $ cd fromhttp2 + $ hg inc http://localhost:$HGPORT/ --template='{rev}:{node|short}\n' + comparing with http://localhost:$HGPORT/ + 0:5caa672bac26 + 1:710fe444b3b0 + $ hg pull http://localhost:$HGPORT/ + pulling from http://localhost:$HGPORT/ + requesting all changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 1 files + (run 'hg update' to get a working copy) + $ hg log --template='{rev}:{node|short}\n' + 1:710fe444b3b0 + 0:5caa672bac26 + $ hg inc http://localhost:$HGPORT/ --template='{rev}:{node|short}\n' + comparing with http://localhost:$HGPORT/ + searching for changes + no changes found + [1] + +turn draft off again (repo side) + $ cd .. + $ "$TESTDIR/killdaemons.py" + $ sed -i 's/^draft=.*$/draft=off/' ./local/.hg/hgrc + $ hg -R local serve -p $HGPORT -d --pid-file=local.pid + $ cat local.pid >> "$DAEMON_PIDS" + $ cd fromhttp2 + + $ hg inc http://localhost:$HGPORT/ --template='{rev}:{node|short}\n' + comparing with http://localhost:$HGPORT/ + searching for changes + 2:3c8695235a32 + 3:73585b17392a + $ hg pull http://localhost:$HGPORT/ + pulling from http://localhost:$HGPORT/ + searching for changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 2 files + (run 'hg update' to get a working copy) + $ cd .. + $ "$TESTDIR/killdaemons.py" + +turn draft on again (repo side) + $ sed -i 's/^draft=.*$/draft=on/' local/.hg/hgrc + $ hg init httpto + $ hg -R httpto serve -p $HGPORT -d --pid-file=remote.pid + $ cat remote.pid >> "$DAEMON_PIDS" + $ cd local + $ hg out http://localhost:$HGPORT/ --template='{rev}:{node|short}\n' + comparing with http://localhost:$HGPORT/ + searching for changes + 0:5caa672bac26 + 1:710fe444b3b0 + $ hg push http://localhost:$HGPORT/ + pushing to http://localhost:$HGPORT/ + searching for changes + remote: adding changesets + remote: adding manifests + remote: adding file changes + remote: added 2 changesets with 2 changes to 1 files + $ "$TESTDIR/killdaemons.py"