Mercurial > hg
view tests/test-convert-svn-source.t @ 12403:ba8850911703
test-serve: fix test for binding to low named port on solaris
Solaris do not know the service called http, so we use echo instead.
Trying to define KILLQUIETLY when running the hgserve function didn't set the
value within the function. Now we set the variable before calling the function.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sat, 25 Sep 2010 02:35:32 +0200 |
parents | a5b77eb0409b |
children | 3178aca36b0f |
line wrap: on
line source
$ "$TESTDIR/hghave" svn svn-bindings || exit 80 $ fixpath() > { > tr '\\' / > } $ cat > $HGRCPATH <<EOF > [extensions] > convert = > graphlog = > EOF $ svnadmin create svn-repo $ svnpath=`pwd | fixpath` $ expr "$svnpath" : "\/" > /dev/null > if [ $? -ne 0 ]; then > svnpath="/$svnpath" > fi > svnurl="file://$svnpath/svn-repo" Now test that it works with trunk/tags layout, but no branches yet. Initial svn import $ mkdir projB $ cd projB $ mkdir trunk $ mkdir tags $ cd .. $ svnurl="file://$svnpath/svn-repo/proj%20B" $ svn import -m "init projB" projB "$svnurl" | fixpath Adding projB/trunk Adding projB/tags Committed revision 1. Update svn repository $ svn co "$svnurl"/trunk B | fixpath Checked out revision 1. $ cd B $ echo hello > 'letter .txt' $ svn add 'letter .txt' A letter .txt $ svn ci -m hello Adding letter .txt Transmitting file data . Committed revision 2. $ "$TESTDIR/svn-safe-append.py" world 'letter .txt' $ svn ci -m world Sending letter .txt Transmitting file data . Committed revision 3. $ svn copy -m "tag v0.1" "$svnurl"/trunk "$svnurl"/tags/v0.1 Committed revision 4. $ "$TESTDIR/svn-safe-append.py" 'nice day today!' 'letter .txt' $ svn ci -m "nice day" Sending letter .txt Transmitting file data . Committed revision 5. $ cd .. Convert to hg once $ hg convert "$svnurl" B-hg initializing destination B-hg repository scanning source... sorting... converting... 3 init projB 2 hello 1 world 0 nice day updating tags Update svn repository again $ cd B $ "$TESTDIR/svn-safe-append.py" "see second letter" 'letter .txt' $ echo "nice to meet you" > letter2.txt $ svn add letter2.txt A letter2.txt $ svn ci -m "second letter" Sending letter .txt Adding letter2.txt Transmitting file data .. Committed revision 6. $ svn copy -m "tag v0.2" "$svnurl"/trunk "$svnurl"/tags/v0.2 Committed revision 7. $ "$TESTDIR/svn-safe-append.py" "blah-blah-blah" letter2.txt $ svn ci -m "work in progress" Sending letter2.txt Transmitting file data . Committed revision 8. $ cd .. ######################################## Test incremental conversion $ hg convert "$svnurl" B-hg scanning source... sorting... converting... 1 second letter 0 work in progress updating tags $ cd B-hg $ hg glog --template '{rev} {desc|firstline} files: {files}\n' o 7 update tags files: .hgtags | o 6 work in progress files: letter2.txt | o 5 second letter files: letter .txt letter2.txt | o 4 update tags files: .hgtags | o 3 nice day files: letter .txt | o 2 world files: letter .txt | o 1 hello files: letter .txt | o 0 init projB files: $ hg tags -q tip v0.2 v0.1 $ cd .. Test filemap $ echo 'include letter2.txt' > filemap $ hg convert --filemap filemap "$svnurl"/trunk fmap initializing destination fmap repository scanning source... sorting... converting... 5 init projB 4 hello 3 world 2 nice day 1 second letter 0 work in progress $ hg glog -R fmap --template '{rev} {desc|firstline} files: {files}\n' o 1 work in progress files: letter2.txt | o 0 second letter files: letter2.txt Test stop revision $ hg convert --rev 1 "$svnurl"/trunk stoprev initializing destination stoprev repository scanning source... sorting... converting... 0 init projB Check convert_revision extra-records. This is also the only place testing more than one extra field in a revision. $ cd stoprev $ hg tip --debug | grep extra extra: branch=default extra: convert_revision=svn:........-....-....-....-............/proj B/trunk@1 (re) $ cd ..