Mercurial > hg
view tests/test-convert-bzr @ 10253:b190a8125b43 stable
Work around AIX shell builtin printf not handling \NNN.
On AIX, ksh builtin printf does not understand \NNN. Some tests use this
to generate test data, and so fail on AIX. Rework these tests to use python
to generate the correct characters. This fixes the tests on AIX and should
be more generally portable.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Wed, 06 Jan 2010 18:03:33 +0000 |
parents | dd24488cba2d |
children |
line wrap: on
line source
#!/bin/sh . "$TESTDIR/bzr-definitions" echo % create and rename on the same file in the same step mkdir test-createandrename cd test-createandrename bzr init -q source cd source echo a > a echo c > c echo e > e bzr add -q a c e bzr commit -q -m 'Initial add: a, c, e' bzr mv a b bzr mv c d bzr mv e f echo a2 >> a mkdir e bzr add -q a e bzr commit -q -m 'rename a into b, create a, rename c into d' cd .. hg convert source source-hg glog -R source-hg echo "% manifest" hg manifest -R source-hg -r tip echo "% test --rev option" hg convert -r 1 source source-1-hg glog -R source-1-hg echo "% test with filemap" cat > filemap <<EOF exclude a EOF hg convert --filemap filemap source source-filemap-hg hg -R source-filemap-hg manifest -r tip echo '% convert from lightweight checkout' bzr checkout --lightweight source source-light hg convert source-light source-light-hg echo "% lightweight manifest" hg manifest -R source-light-hg -r tip # extract timestamps that look just like hg's {date|isodate}: # yyyy-mm-dd HH:MM zzzz (no seconds!) echo "% compare timestamps" cd source bzr log | \ sed '/timestamp/!d;s/.\{15\}\([0-9: -]\{16\}\):.. \(.[0-9]\{4\}\)/\1 \2/' \ > ../bzr-timestamps cd .. hg -R source-hg log --template "{date|isodate}\n" > hg-timestamps if diff -q bzr-timestamps hg-timestamps ; then echo "good: hg timestamps match bzr timestamps" else echo "fail: bzr timestamps are:" cat bzr-timestamps echo "but hg timestamps are:" cat hg-timestamps fi cd .. echo % merge mkdir test-merge cd test-merge cat > helper.py <<EOF import sys from bzrlib import workingtree wt = workingtree.WorkingTree.open('.') message, stamp = sys.argv[1:] wt.commit(message, timestamp=int(stamp)) EOF bzr init -q source cd source echo content > a echo content2 > b bzr add -q a b bzr commit -q -m 'Initial add' cd .. bzr branch -q source source-improve cd source echo more >> a python ../helper.py 'Editing a' 100 cd ../source-improve echo content3 >> b python ../helper.py 'Editing b' 200 cd ../source bzr merge -q ../source-improve bzr commit -q -m 'Merged improve branch' cd .. hg convert --datesort source source-hg glog -R source-hg cd .. echo % symlinks and executable files mkdir test-symlinks cd test-symlinks bzr init -q source cd source touch program chmod +x program ln -s program altname mkdir d echo a > d/a ln -s a syma bzr add -q altname program syma d/a bzr commit -q -m 'Initial setup' touch newprog chmod +x newprog rm altname ln -s newprog altname chmod -x program bzr add -q newprog bzr commit -q -m 'Symlink changed, x bits changed' cd .. hg convert source source-hg manifest source-hg 0 manifest source-hg tip cd source-hg echo % test the symlinks can be recreated hg up hg cat syma cd ../..