view tests/test-convert-svn-sink @ 9485:7d6ac5d7917c

test-gendoc: add tests for all languages This ensures that we catch errors in the reST syntax early and for all languages. The only change needed in gendoc.py was to correct the computation of section underlines for Asian languages.
author Martin Geisler <mg@lazybytes.net>
date Sun, 27 Sep 2009 10:12:02 +0200
parents 99e5f97c9a97
children 14db59e3b248
line wrap: on
line source

#!/bin/sh

"$TESTDIR/hghave" svn svn-bindings no-outer-repo || exit 80

fixpath()
{
    tr '\\' /
}

svnupanddisplay()
{
    (
       cd $1;
       svn up;
       svn st -v | fixpath | sed 's/  */ /g'
       limit=''
       if [ $2 -gt 0 ]; then
           limit="--limit=$2"
       fi
       svn log --xml -v $limit | fixpath | sed 's,<date>.*,<date/>,' | grep -v 'kind="'
    )
}

echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH

hg init a

echo a > a/a
mkdir -p a/d1/d2
echo b > a/d1/d2/b
echo % add
hg --cwd a ci -d '0 0' -A -m 'add a file'

"$TESTDIR/svn-safe-append.py" a a/a
echo % modify
hg --cwd a ci -d '1 0' -m 'modify a file'
hg --cwd a tip -q

hg convert -d svn a
svnupanddisplay a-hg-wc 2
ls a a-hg-wc
cmp a/a a-hg-wc/a && echo same || echo different

hg --cwd a mv a b
echo % rename
hg --cwd a ci -d '2 0' -m 'rename a file'
hg --cwd a tip -q

hg convert -d svn a
svnupanddisplay a-hg-wc 1
ls a a-hg-wc

hg --cwd a cp b c
echo % copy
hg --cwd a ci -d '3 0' -m 'copy a file'
hg --cwd a tip -q

hg convert -d svn a
svnupanddisplay a-hg-wc 1
ls a a-hg-wc

hg --cwd a rm b
echo % remove
hg --cwd a ci -d '4 0' -m 'remove a file'
hg --cwd a tip -q

hg convert -d svn a
svnupanddisplay a-hg-wc 1
ls a a-hg-wc

chmod +x a/c
echo % executable
hg --cwd a ci -d '5 0' -m 'make a file executable'
hg --cwd a tip -q

hg convert -d svn a
svnupanddisplay a-hg-wc 1
test -x a-hg-wc/c && echo executable || echo not executable

echo % executable in new directory

rm -rf a a-hg a-hg-wc
hg init a

mkdir a/d1
echo a > a/d1/a
chmod +x a/d1/a
hg --cwd a ci -d '0 0' -A -m 'add executable file in new directory'

hg convert -d svn a
svnupanddisplay a-hg-wc 1
test -x a-hg-wc/d1/a && echo executable || echo not executable

echo % copy to new directory

mkdir a/d2
hg --cwd a cp d1/a d2/a
hg --cwd a ci -d '1 0' -A -m 'copy file to new directory'

hg convert -d svn a
svnupanddisplay a-hg-wc 1

echo % branchy history

hg init b
echo base > b/b
hg --cwd b ci -d '0 0' -Ambase

"$TESTDIR/svn-safe-append.py" left-1 b/b
echo left-1 > b/left-1
hg --cwd b ci -d '1 0' -Amleft-1

"$TESTDIR/svn-safe-append.py" left-2 b/b
echo left-2 > b/left-2
hg --cwd b ci -d '2 0' -Amleft-2

hg --cwd b up 0

"$TESTDIR/svn-safe-append.py" right-1 b/b
echo right-1 > b/right-1
hg --cwd b ci -d '3 0' -Amright-1

"$TESTDIR/svn-safe-append.py" right-2 b/b
echo right-2 > b/right-2
hg --cwd b ci -d '4 0' -Amright-2

hg --cwd b up -C 2
hg --cwd b merge
hg --cwd b revert -r 2 b
hg resolve -m b
hg --cwd b ci -d '5 0' -m 'merge'

hg convert -d svn b
echo % expect 4 changes
svnupanddisplay b-hg-wc 0