tests/test-convert-bzr
author Patrick Mezard <pmezard@gmail.com>
Sat, 11 Apr 2009 20:18:51 +0200
changeset 8045 e09a2f2ef85d
parent 8036 dbcf5d52fcf5
child 8148 adce97d28389
permissions -rwxr-xr-x
convert/bzr: fix file rename replaced by a dir case (issue1583) We were not checking entry types, and getting file content was working with directories instead of raising IOError.

#!/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
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
bzr add -q altname program
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 ..