##// END OF EJS Templates
add a fix for issue 1175...
add a fix for issue 1175 If we copy a file followed by an update, it's possible for the parent manifest to no longer contain the source file of the copy, which could cause commit to fail. If this happens, we search backwares from the first parent to find the most likely original revision.

File last commit:

r6246:35bf9c23 default
r6875:0d714a48 default
Show More
test-fetch
69 lines | 1.6 KiB | text/plain | TextLexer
#!/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