##// END OF EJS Templates
cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
cvsps: recognize and eliminate CVS' synthetic "file added" revisions.

File last commit:

r7862:02981000 1.2.1 default
r7862:02981000 1.2.1 default
Show More
test-convert-cvs-synthetic
65 lines | 1.2 KiB | text/plain | TextLexer
/ tests / test-convert-cvs-synthetic
#!/bin/sh
# This feature requires use of builtin cvsps!
"$TESTDIR/hghave" cvs || exit 80
# XXX lots of duplication with other test-convert-cvs* scripts
set -e
echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH
echo "[convert]" >> $HGRCPATH
echo "cvsps=builtin" >> $HGRCPATH
echo % create cvs repository with one project
mkdir cvsrepo
cd cvsrepo
export CVSROOT=`pwd`
export CVS_OPTIONS=-f
cd ..
filter='sed "s:$CVSROOT:*REPO*:g"'
cvscall()
{
cvs -f "$@" | eval $filter
}
cvscall -q -d "$CVSROOT" init
mkdir cvsrepo/proj
cvscall co proj
echo % create file1 on the trunk
cd proj
touch file1
cvscall add file1
cvscall ci -m"add file1 on trunk" file1
echo % create two branches
cvscall tag -b v1_0
cvscall tag -b v1_1
echo % create file2 on branch v1_0
cvs up -rv1_0
touch file2
cvscall add file2
cvscall ci -m"add file2 on branch v1_0" file2
echo % create file3, file4 on branch v1_1
cvs up -rv1_1
touch file3
touch file4
cvscall add file3 file4
cvscall ci -m"add file3, file4 on branch v1_1" file3 file4
echo % merge file2 from v1_0 to v1_1
cvscall up -jv1_0
cvscall ci -m"merge file2 from v1_0 to v1_1"
echo % convert to hg
cd ..
hg convert proj proj.hg | eval $filter
echo % hg log output
hg -R proj.hg log --template "{rev} {desc}\n"