tests/test-share
author Chad Dombrova <chadrik@gmail.com>
Thu, 10 Jun 2010 09:32:19 -0700
changeset 11330 713ae78bb583
parent 10468 2250fc372d34
permissions -rwxr-xr-x
provide pre- and post- hooks with parsed command line arguments. python hooks are passed two new keyword arguments: - opts: a dict of options; unsepcified options are set to their default - pats: a list of arguments shell hooks receive two new variables containing string representations of the above data: - $HG_OPTS - $HG_PATS for example, the opts and pats for 'hg -f v1.1' would be: {'force': True, 'message': '', 'rev': '', 'user': '', 'date': '', 'local': None, 'remove': None, 'mq': None} ['v1.1']

#!/bin/sh

echo "[extensions]"      >> $HGRCPATH
echo "share = "          >> $HGRCPATH

echo % prepare repo1
hg init repo1
cd repo1
echo a > a
hg commit -A -m'init'

echo % share it
cd ..
hg share repo1 repo2

echo % contents of repo2/.hg
cd repo2
[ -d .hg/store ] \
  && echo "fail: .hg/store should not exist" \
  || echo "pass: .hg/store does not exist"
# Some sed versions appends newline, some don't, and some just fails
(cat .hg/sharedpath; echo) | head -n1 | "$TESTDIR/filtertmp.py"

echo % commit in shared clone
echo a >> a
hg commit -m'change in shared clone'

echo % check original
cd ../repo1
hg log
hg update
cat a             # should be two lines of "a"

echo % commit in original
echo b > b
hg commit -A -m'another file'

echo % check in shared clone
cd ../repo2
hg log
hg update
cat b             # should exist with one "b"

echo % hg serve shared clone
hg serve -n test -p $HGPORT -d --pid-file=hg.pid
cat hg.pid >> $DAEMON_PIDS

"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/raw-file/'