Mercurial > hg
view tests/test-rebase-collapse @ 7429:dbc40381620e
tests: Skip tests if they will fail because of outer repo
For different reasons these tests will fail if run in a tmpdir which is in a hg
repo.
The following three tests assumes no .hg in path dirs - I don't know how to
work around that:
* test-dispatch explicitly tests for no repo and expects "abort: There is no
Mercurial repository here (.hg not found)!"
* test-extension expects parentui to be None when not cd'ed to a repo dir
* test-globalopts tests that implicit -R works correctly - that could perhaps be
done from another repo instead of assuming no repo
The following two might be worth investigating further:
* test-convert-svn-sink fails for unknown reasons, starting with "abort:
unresolved merge conflicts (see hg resolve)"
* test-glog gets strange failures when testing "from outer space"
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Thu, 27 Nov 2008 00:57:31 +0100 |
parents | 45495d784ad6 |
children | 8766fee6f225 |
line wrap: on
line source
#!/bin/sh echo "[extensions]" >> $HGRCPATH echo "graphlog=" >> $HGRCPATH echo "rebase=" >> $HGRCPATH BASE=`pwd` addcommit () { echo $1 > $1 hg add $1 hg commit -d "${2} 0" -u test -m $1 } commit () { hg commit -d "${2} 0" -u test -m $1 } createrepo () { cd $BASE rm -rf a hg init a cd a addcommit "A" 0 addcommit "B" 1 addcommit "C" 2 addcommit "D" 3 hg update -C 0 addcommit "E" 4 hg update -C 0 addcommit "F" 5 hg merge -r 4 commit "G" 6 hg update -C 5 addcommit "H" 7 } createrepo > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo '% Rebasing B onto H' hg up -C 3 hg rebase --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' echo "Expected A, B, C, D, F, H" hg manifest createrepo > /dev/null 2>&1 echo echo '% Rebasing G onto H' hg rebase --base 6 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' echo "Expected A, E, F, H" hg manifest createrepocomplex () { cd $BASE rm -rf a hg init a cd a addcommit "A" 0 addcommit "B" 1 hg up 0 addcommit "C" 2 hg merge commit "D" 3 hg up 1 addcommit "E" 4 addcommit "F" 5 hg merge commit "G" 6 hg up 0 addcommit "H" 7 } echo createrepocomplex > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo echo '% Rebase and collapse - more than one external (fail)' hg rebase -s 2 --collapse echo echo '% Rebase and collapse - E onto H' hg rebase -s 4 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' echo "Expected A, B, C, E, F, H" hg manifest createrepocomplex () { cd $BASE rm -rf a hg init a cd a addcommit "A" 0 addcommit "B" 1 hg up 0 addcommit "C" 2 hg merge commit "D" 3 hg up 1 addcommit "E" 4 echo "F" > E commit "F" 5 addcommit "G" 6 hg merge commit "H" 7 hg up 0 addcommit "I" 8 } echo createrepocomplex > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo echo '% Rebase and collapse - E onto I' hg rebase -s 4 --collapse echo '% Fix conflict and continue' echo 'Resolved merge' > E hg resolve -m E hg rebase -c 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' echo "Expected A, B, C, E, G, I" hg manifest echo 'Cat E:' cat E createrepocomplex () { cd $BASE rm -rf a hg init a cd a addcommit "A" 0 addcommit "B" 1 addcommit "C" 2 hg up 1 addcommit "D" 3 hg merge commit "E" 4 hg up 0 addcommit "F" 5 } echo createrepocomplex > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo echo '% Rebase and collapse - B onto F' hg rebase -s 1 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' echo "Expected A, B, C, D, F" hg manifest exit 0