view tests/test-convert-cvs-branch @ 7493:518afef5e350

Fix Bugzilla integration to work with new Bugzilla 3.2. Bugzilla 3.2 changes the type of all MySQL tables it uses from MyISAM to InnoDB. MyISAM does not support transactions, and performs an implied commit after each update. InnoDB does support transactions, and so exposes a bug where changes to the Bugzilla database were not committed, and so with 3.2 are lost when the database connection closes.
author Jim Hague <jim.hague@acm.org>
date Tue, 09 Dec 2008 09:58:13 +0000
parents 8f0305874701
children 18048153fd4e
line wrap: on
line source

#!/bin/sh

# This is http://www.selenic.com/mercurial/bts/issue1148

"$TESTDIR/hghave" cvs || exit 80

cvscall()
{
    cvs -f "$@"
}

echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH
echo "graphlog = " >> $HGRCPATH
echo "[convert]" >> $HGRCPATH
echo "cvsps=builtin" >> $HGRCPATH

echo % create cvs repository
mkdir cvsrepo
cd cvsrepo
export CVSROOT=`pwd`
export CVS_OPTIONS=-f
cd ..

cvscall -q -d "$CVSROOT" init

echo % Create a new project

mkdir src
cd src
echo "1" > a
echo "1" > b
cvscall import -m "init" src v0 r0 | sort
cd ..
cvscall co src
cd src

echo % Branch the project

cvscall tag -b BRANCH
cvscall up -r BRANCH

echo % Modify file a, then b, then a 

echo "2" > a
cvscall ci -m "mod a" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g'

echo "2" > b
cvscall ci -m "mod b" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g'

echo "3" > a
cvscall ci -m "mod a again" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g'

echo % Convert

cd ..
hg convert src | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g'

echo % Check the result

hg -R src-hg glog --template '#rev# (#branches#) #desc# files: #files#\n'