##// END OF EJS Templates
issue1577: fix broken test by assuming less about CVS output....
issue1577: fix broken test by assuming less about CVS output. Specifically, output of "cvs ci" varies unpredictably across CVS versions, so any test that includes the output of "cvs ci" is doomed to fail some of the time. This fixes that by discarding the output of "cvs ci".

File last commit:

r7855:aa1a87f7 default
r8081:6c3b8132 default
Show More
test-fetch
190 lines | 4.3 KiB | text/plain | TextLexer
Vadim Gelfer
fetch: fix breakage from mpm....
r2822 #!/bin/sh
Thomas Arendsen Hein
adjust test-fetch output to non-default HGPORT, e.g. with run-tests.py -j
r6246 # 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/"; }
Thomas Arendsen Hein
Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc...
r2990 echo "[extensions]" >> $HGRCPATH
echo "fetch=" >> $HGRCPATH
Vadim Gelfer
fetch: fix breakage from mpm....
r2822
Sune Foldager
fetch: added support for named branches...
r7007 echo % test fetch with default branches only
Vadim Gelfer
fetch: fix breakage from mpm....
r2822 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
Bryan O'Sullivan
fetch: hide authentication details
r5798
hg clone c d
hg clone c e
Bryan O'Sullivan
fetch: make test reproducible, tiny code cleanup
r6207 # 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.
Bryan O'Sullivan
fetch: switch the default parent used for a merge...
r6206 echo % should merge c into a
Vadim Gelfer
test-fetch: make output stable
r2823 hg --cwd c fetch -d '4 0' -m 'automated merge' ../a
Vadim Gelfer
fetch: fix breakage from mpm....
r2822 ls c
Bryan O'Sullivan
fetch: hide authentication details
r5798
Matt Mackall
tests: add killdaemons helper script
r7344 netstat -tnap 2>/dev/null | grep $HGPORT | grep LISTEN
Bryan O'Sullivan
fetch: hide authentication details
r5798 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'
Thomas Arendsen Hein
adjust test-fetch output to non-default HGPORT, e.g. with run-tests.py -j
r6246 hg --cwd d fetch -d '5 0' http://localhost:$HGPORT/ | hideport | hidehash
hg --cwd d tip --template '{desc}\n' | hideport
Bryan O'Sullivan
fetch: hide authentication details
r5798
echo '% fetch over http with auth (should be hidden in desc)'
Thomas Arendsen Hein
adjust test-fetch output to non-default HGPORT, e.g. with run-tests.py -j
r6246 hg --cwd e fetch -d '5 0' http://user:password@localhost:$HGPORT/ | hideport | hidehash
hg --cwd e tip --template '{desc}\n' | hideport
Bryan O'Sullivan
fetch: switch the default parent used for a merge...
r6206
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
Bryan O'Sullivan
fetch: don't proceed if working directory is missing files (issue988)
r6226 hg clone -q f h
hg clone -q g i
Bryan O'Sullivan
fetch: switch the default parent used for a merge...
r6206 echo % should merge f into g
Bryan O'Sullivan
fetch: make test reproducible, tiny code cleanup
r6207 hg --cwd g fetch -d '7 0' --switch -m 'automated merge' ../f
Bryan O'Sullivan
fetch: don't proceed if working directory is missing files (issue988)
r6226
rm i/g
echo % should abort, because i is modified
hg --cwd i fetch ../h
Thomas Arendsen Hein
test-fetch failed due to non-zero exit code
r6235
Sune Foldager
fetch: added support for named branches...
r7007
echo % test fetch with named branches
hg init nbase
echo base > nbase/a
hg -R nbase ci -d '1 0' -Am base
hg -R nbase branch a
echo a > nbase/a
hg -R nbase ci -d '2 0' -m a
hg -R nbase up -C 0
hg -R nbase branch b
echo b > nbase/b
hg -R nbase ci -Ad '3 0' -m b
echo
echo % pull in change on foreign branch
hg clone nbase n1
hg clone nbase n2
hg -R n1 up -C a
echo aa > n1/a
hg -R n1 ci -d '4 0' -m a1
hg -R n2 up -C b
hg -R n2 fetch -d '9 0' -m 'merge' n1
echo '% parent should be 2 (no automatic update)'
hg -R n2 parents --template '{rev}\n'
rm -fr n1 n2
echo
echo % pull in changes on both foreign and local branches
hg clone nbase n1
hg clone nbase n2
hg -R n1 up -C a
echo aa > n1/a
hg -R n1 ci -d '4 0' -m a1
hg -R n1 up -C b
echo bb > n1/b
hg -R n1 ci -d '5 0' -m b1
hg -R n2 up -C b
hg -R n2 fetch -d '9 0' -m 'merge' n1
echo '% parent should be 4 (fast forward)'
hg -R n2 parents --template '{rev}\n'
rm -fr n1 n2
echo
echo '% pull changes on foreign (2 new heads) and local (1 new head) branches'
echo % with a local change
hg clone nbase n1
hg clone nbase n2
hg -R n1 up -C a
echo a1 > n1/a
hg -R n1 ci -d '4 0' -m a1
hg -R n1 up -C b
echo bb > n1/b
hg -R n1 ci -d '5 0' -m b1
hg -R n1 up -C 1
echo a2 > n1/a
hg -R n1 ci -d '6 0' -m a2
hg -R n2 up -C b
echo change >> n2/c
hg -R n2 ci -Ad '7 0' -m local
hg -R n2 fetch -d '9 0' -m 'merge' n1
echo '% parent should be 7 (new merge changeset)'
hg -R n2 parents --template '{rev}\n'
rm -fr n1 n2
echo '% pull in changes on foreign (merge of local branch) and local (2 new'
echo '% heads) with a local change'
hg clone nbase n1
hg clone nbase n2
hg -R n1 up -C a
hg -R n1 merge b
hg -R n1 ci -d '4 0' -m merge
hg -R n1 up -C 2
echo c > n1/a
hg -R n1 ci -d '5 0' -m c
hg -R n1 up -C 2
echo cc > n1/a
hg -R n1 ci -d '6 0' -m cc
hg -R n2 up -C b
echo change >> n2/b
hg -R n2 ci -Ad '7 0' -m local
hg -R n2 fetch -d '9 0' -m 'merge' n1
echo '% parent should be 3 (fetch did not merge anything)'
hg -R n2 parents --template '{rev}\n'
rm -fr n1 n2
Sune Foldager
fetch: use dirstate branch instead of first parents
r7049 echo % pull in change on different branch than dirstate
hg init n1
echo a > n1/a
hg -R n1 ci -Am initial
hg clone n1 n2
echo b > n1/a
hg -R n1 ci -m next
hg -R n2 branch topic
hg -R n2 fetch -d '0 0' -m merge n1
echo '% parent should be 0 (fetch did not update or merge anything)'
hg -R n2 parents --template '{rev}\n'
rm -fr n1 n2
Benjamin Pollack
regression test for issue1552...
r7855 echo % test fetch with inactive branches
hg init ib1
echo a > ib1/a
hg --cwd ib1 ci -Am base
hg --cwd ib1 branch second
echo b > ib1/b
hg --cwd ib1 ci -Am onsecond
hg --cwd ib1 branch -f default
echo c > ib1/c
hg --cwd ib1 ci -Am newdefault
hg clone ib1 ib2
echo % fetch should succeed
hg --cwd ib2 fetch ../ib1
rm -fr ib1 ib2
Matt Mackall
tests: add killdaemons helper script
r7344 "$TESTDIR/killdaemons.py"
Thomas Arendsen Hein
test-fetch failed due to non-zero exit code
r6235 true