view tests/test-share @ 10078:97c75ad3b1a0

hgweb: Make get_mtime use repository to find store path. It was calculating it directly, which is redundant and caused it to break with shared repositories.
author Brendan Cully <brendan@kublai.com>
date Tue, 15 Dec 2009 12:33:04 -0800
parents c204431b039e
children 66d8ec33da32
line wrap: on
line source

#!/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"
# sed appends a newline to the stream if none, GNU sed does not
sed "s:$HGTMP:*HGTMP*:" .hg/sharedpath | tr -d '\n'; echo

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