view tests/test-convert-bzr-directories @ 7585:075b7ef0f84d

convert/gnuarch: follow continuation-of revisions Built on top of previous patches: - continuation-of parsing - registered archives retrieval - use of fully qualified revisions This allows the converter scanning for more source revisions following the tree versions 'leaked' through the continuation-of informations. Coupled with the registered archives retrieval, this makes possible to decide to follow such a hint or stop scanning for more revisions. This also implies some changes in the retrieval of some base-0 revisions when they're continuation-of other revisions, in that case a 'replay' will work where a simple 'get' fails because the dir exists already. I found the code dealing with 'replay' quite good as it has already a fallback to 'get' in the error path.
author Edouard Gomez <ed.gomez@free.fr>
date Sun, 04 Jan 2009 02:36:48 +0100
parents 9e6d6568bf7a
children
line wrap: on
line source

#!/bin/sh

. "$TESTDIR/bzr-definitions"

echo % empty directory
mkdir test-empty
cd test-empty
bzr init -q source
cd source
echo content > a
bzr add -q a
bzr commit -q -m 'Initial add'
mkdir empty
bzr add -q empty
bzr commit -q -m 'Empty directory added'
echo content > empty/something
bzr add -q empty/something
bzr commit -q -m 'Added file into directory'
cd ..
hg convert source source-hg
manifest source-hg 1
manifest source-hg tip
cd ..

echo % directory renames
mkdir test-dir-rename
cd test-dir-rename
bzr init -q source
cd source
mkdir tpyo
echo content > tpyo/something
bzr add -q tpyo
bzr commit -q -m 'Added directory'
bzr mv tpyo typo
bzr commit -q -m 'Oops, typo'
cd ..
hg convert source source-hg
manifest source-hg 0
manifest source-hg tip
cd ..

echo % nested directory renames
mkdir test-nested-dir-rename
cd test-nested-dir-rename
bzr init -q source
cd source
mkdir -p firstlevel/secondlevel/thirdlevel
echo content > firstlevel/secondlevel/file
echo this_needs_to_be_there_too > firstlevel/secondlevel/thirdlevel/stuff
bzr add -q firstlevel
bzr commit -q -m 'Added nested directories'
bzr mv firstlevel/secondlevel secondlevel
bzr commit -q -m 'Moved secondlevel one level up'
cd ..
hg convert source source-hg
manifest source-hg tip
cd ..

echo % directory remove
mkdir test-dir-remove
cd test-dir-remove
bzr init -q source
cd source
mkdir src
echo content > src/sourcecode
bzr add -q src
bzr commit -q -m 'Added directory'
bzr rm -q src
bzr commit -q -m 'Removed directory'
cd ..
hg convert source source-hg
manifest source-hg 0
manifest source-hg tip
cd ..

echo % directory replace
mkdir test-dir-replace
cd test-dir-replace
bzr init -q source
cd source
mkdir first second
echo content > first/file
echo morecontent > first/dummy
echo othercontent > second/something
bzr add -q first second
bzr commit -q -m 'Initial layout'
bzr mv first/file second/file
bzr mv first third
bzr commit -q -m 'Some conflicting moves'
cd ..
hg convert source source-hg
manifest source-hg tip
cd ..