Mercurial > evolve
view tests/test-private.t @ 7:cc592295900f
Add write protocol support for private.
Writeprotocol repo doesn't need to _reducehead locally. It's the heads command
implementation server side that handle the filtering.
author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
---|---|
date | Mon, 23 May 2011 15:41:20 +0200 |
parents | 2ec66dbe2ebe |
children | e56e40db3225 |
line wrap: on
line source
$ cat >> $HGRCPATH <<EOF > [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: 0 0:5caa672bac26: 0 $ 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 0 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: 0 2:3c8695235a32: 0 1:710fe444b3b0: 0 0:5caa672bac26: 0 turn private on (repo side) $ cat > .hg/hgrc << EOF > [states] > private=yes > EOF $ hg log --template='{rev}:{node|short}: {state}\n' 3:73585b17392a: 2 2:3c8695235a32: 2 1:710fe444b3b0: 0 0:5caa672bac26: 0 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 private off again (repo side) $ sed -i 's/^private=.*$/private=no/' .hg/hgrc $ hg log --template='{rev}:{node|short}: {state}\n' 3:73585b17392a: 0 2:3c8695235a32: 0 1:710fe444b3b0: 0 0:5caa672bac26: 0 $ hg out ../remote1 --template='{rev}:{node|short}\n' comparing with ../remote1 searching for changes 2:3c8695235a32 3:73585b17392a turn private on again (repo side) $ sed -i 's/^private=.*$/private=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) $ 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 private off again (repo side) $ cd .. $ "$TESTDIR/killdaemons.py" $ sed -i 's/^private=.*$/private=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 private on again (repo side) $ sed -i 's/^private=.*$/private=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"