tests/test-fetch
author Bryan O'Sullivan <bos@serpentine.com>
Wed, 05 Mar 2008 09:10:45 -0800
changeset 6206 0b6f12495276
parent 5798 86f5d8f608b7
child 6207 03b13d853dc6
permissions -rwxr-xr-x
fetch: switch the default parent used for a merge This treats newly pulled changes as authoritative, and local changes as the "satellite" changes. The prior default behaviour is still available, via the --switch-parent option.

#!/bin/sh

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

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/
hg --cwd d tip --template '{desc}\n'

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

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

echo % should merge f into g
hg --cwd g fetch --switch ../f