view tests/test-convert-cvs-builtincvsps-cvsnt-mergepoints @ 8552:06561793778e

inotify: Separate query sending logic from Server starting. Use a decorator around the public statusquery method of Client: start_server(query_to_server): try: query_to_server() except QueryFailed: [error recovery, inotify Server (re)starting] query_to_server() This way, introducing a new xxxquery Client method is easy: one has only to code the protocol part of xxxquery, ignoring errors, and decorating it using start_server to handle server recovery and (re)starts
author Nicolas Dumazet <nicdumz.commits@gmail.com>
date Tue, 07 Apr 2009 19:30:01 +0900
parents ec8b8a0f494b
children
line wrap: on
line source

#!/bin/sh

"$TESTDIR/hghave" cvs || exit 80

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

hgcat()
{
    hg --cwd src-hg cat -r tip "$1"
}

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

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

cvscall -q -d "$CVSROOT" init

cvscall -q checkout -d cvsworktmp .
cd cvsworktmp
mkdir foo
cvscall -q add foo | sed -e 's/Directory .* added to the repository//g'
cd foo
echo foo > foo.txt
cvscall -q add foo.txt 
cvscall -q ci -m "foo.txt" | sed 's/.*,v.*/checking in/g'
 
cd ../..
rm -rf cvsworktmp

cvscall -q checkout -d cvswork foo

cd cvswork

cvscall -q rtag -b -R MYBRANCH1 foo
cvscall -q up -P -r MYBRANCH1
echo bar > foo.txt
cvscall -q ci -m "bar" | sed 's/.*,v.*/checking in/g'
echo baz > foo.txt
cvscall -q ci -m "baz" | sed 's/.*,v.*/checking in/g'

cvscall -q rtag -b -R -r MYBRANCH1 MYBRANCH1_2 foo
cvscall -q up -P -r MYBRANCH1_2

echo bazzie > foo.txt
cvscall -q ci -m "bazzie" | sed 's/.*,v.*/checking in/g'

cvscall -q rtag -b -R MYBRANCH1_1 foo
cvscall -q up -P -r MYBRANCH1_1

echo quux > foo.txt
cvscall -q ci -m "quux" | sed 's/.*,v.*/checking in/g'
cvscall -q up -P -jMYBRANCH1 | sed 's/RCS file: .*,v/merging MYBRANCH1/g'
echo xyzzy > foo.txt
cvscall -q ci -m "merge" | sed 's/.*,v.*/checking in/g'

cvscall -q up -P -A

cvscall -q up -P -jMYBRANCH1_2 | sed 's/RCS file: .*,v/merging MYBRANCH1_2/g'
cvscall -q ci -m "merge" | sed 's/.*,v.*/checking in/g'

REALCVS=`which cvs`
echo "for x in \$*; do if [ \"\$x\" = \"rlog\" ]; then echo \"RCS file: $CVSROOT/foo/foo.txt,v\"; cat $TESTDIR/test-convert-cvs-builtincvsps-cvsnt-mergepoints.rlog; exit 0; fi; done; $REALCVS \$*" > cvs
chmod +x cvs
PATH=.:${PATH} hg debugcvsps --parents foo | sed -e 's/Author:.*/Author:/' -e 's/Date:.*/Date:/'

cd ..