view tests/test-fetch @ 7004:90227c42b5f6

c0bd7d8b69ef uses err() instead of warn() but prototype doesn't match we might want to make warn() look more like err() in the future to avoid this kind of problem.
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Mon, 08 Sep 2008 00:50:34 +0200
parents 35bf9c23e17a
children a6b74fbb5ce0
line wrap: on
line source

#!/bin/sh

# adjust to non-default HGPORT, e.g. with run-tests.py -j
hideport() { sed "s/localhost:$HGPORT/localhost:20059/"; }
hidehash() { sed "s/changeset 3:............ merges/changeset 3:... merges/"; }

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

hg init a
echo a > a/a
hg --cwd a commit -d '1 0' -Ama

hg clone a b
hg clone a c

echo b > a/b
hg --cwd a commit -d '2 0' -Amb
hg --cwd a parents -q

echo % should pull one change
hg --cwd b fetch ../a
hg --cwd b parents -q

echo c > c/c
hg --cwd c commit -d '3 0' -Amc

hg clone c d
hg clone c e

# We cannot use the default commit message if fetching from a local
# repo, because the path of the repo will be included in the commit
# message, making every commit appear different.

echo % should merge c into a
hg --cwd c fetch -d '4 0' -m 'automated merge' ../a
ls c

hg --cwd a serve -a localhost -p $HGPORT -d --pid-file=hg.pid
cat a/hg.pid >> "$DAEMON_PIDS"

echo '% fetch over http, no auth'
hg --cwd d fetch -d '5 0' http://localhost:$HGPORT/ | hideport | hidehash
hg --cwd d tip --template '{desc}\n' | hideport

echo '% fetch over http with auth (should be hidden in desc)'
hg --cwd e fetch -d '5 0' http://user:password@localhost:$HGPORT/ | hideport | hidehash
hg --cwd e tip --template '{desc}\n' | hideport

hg clone a f
hg clone a g

echo f > f/f
hg --cwd f ci -d '6 0' -Amf

echo g > g/g
hg --cwd g ci -d '6 0' -Amg

hg clone -q f h
hg clone -q g i

echo % should merge f into g
hg --cwd g fetch -d '7 0' --switch -m 'automated merge' ../f

rm i/g
echo % should abort, because i is modified
hg --cwd i fetch ../h

true