view tests/test-push-http @ 7007:a6b74fbb5ce0

fetch: added support for named branches Previously, fetch didn't really work when there were multiple named branches in the repository. Now it tries to do the right thing(tm) in all situations.
author Sune Foldager <cryo@cyanite.org>
date Mon, 08 Sep 2008 12:55:46 +0200
parents f53b9a383476
children 6c82beaaa11a
line wrap: on
line source

#!/bin/sh

cp "$TESTDIR"/printenv.py .

hg init test
cd test
echo a > a
hg ci -Ama -d '0 0'

cd ..
hg clone test test2
cd test2
echo a >> a
hg ci -mb -d '0 0'

req() {
	hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
	cat hg.pid >> $DAEMON_PIDS
	hg --cwd ../test2 push http://localhost:$HGPORT/ | sed -e 's,:[0-9][0-9]*/,/,'
	kill `cat hg.pid`
	echo % serve errors
	cat errors.log
}

cd ../test

echo % expect ssl error
req

echo % expect authorization error
echo '[web]' > .hg/hgrc
echo 'push_ssl = false' >> .hg/hgrc
req

echo % expect authorization error: must have authorized user
echo 'allow_push = unperson' >> .hg/hgrc
req

echo % expect success
echo 'allow_push = *' >> .hg/hgrc
echo '[hooks]' >> .hg/hgrc
echo 'changegroup = python ../printenv.py changegroup 0 ../urls' >> .hg/hgrc
req

cat ../urls

hg rollback
echo % expect authorization error: all users denied
echo '[web]' > .hg/hgrc
echo 'push_ssl = false' >> .hg/hgrc
echo 'deny_push = *' >> .hg/hgrc
req

echo % expect authorization error: some users denied, users must be authenticated
echo 'deny_push = unperson' >> .hg/hgrc
req