view tests/test-convert-cvs-branch @ 10274:04207f5e7344 stable

mq: Do not translate import message that are appended to commits. We should not translate the "imported patch" message. The translated message confuses the detection whether the user has not updated the commit message yet. We try to avoid to translate generated commit messages.
author David Soria Parra <dsp@php.net>
date Wed, 20 Jan 2010 23:23:18 +0100
parents 56a5f80556f5
children
line wrap: on
line source

#!/bin/sh

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

"$TESTDIR/hghave" cvs || exit 80

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

echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH
echo "graphlog = " >> $HGRCPATH
echo "[convert]" >> $HGRCPATH
echo "cvsps.cache=0" >> $HGRCPATH

echo % create cvs repository
mkdir cvsrepo
cd cvsrepo
CVSROOT=`pwd`
export CVSROOT
CVS_OPTIONS=-f
export CVS_OPTIONS
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 > /dev/null

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'

echo ""

echo % issue 1447
cvscall()
{
    echo cvs -f "$@"
    cvs -f "$@"
    sleep 1
}

cvsci()
{
    echo cvs -f ci "$@"
    cvs -f ci "$@" >/dev/null 2>&1
    sleep 1
}

cvscall -Q -d `pwd`/cvsmaster2 init >/dev/null 2>&1
cd cvsmaster2
CVSROOT=`pwd`
export CVSROOT
mkdir foo
cd ..
cvscall -Q co -d cvswork2 foo

cd cvswork2
echo foo > a.txt
echo bar > b.txt
cvscall -Q add a.txt b.txt
cvsci -m "Initial commit"

echo foo > b.txt
cvsci -m "Fix b on HEAD"

echo bar > a.txt
cvsci -m "Small fix in a on HEAD"

cvscall -Q tag -b BRANCH
cvscall -Q up -P -rBRANCH

echo baz > b.txt
cvsci -m "Change on BRANCH in b"

hg debugcvsps -x --parents foo | sed -e 's/Author:.*/Author:/' -e 's/Date:.*/Date:/'

cd ..