--- a/tests/test-convert-cvs-synthetic Sat Apr 18 09:43:21 2009 -0400
+++ b/tests/test-convert-cvs-synthetic Sat Apr 18 22:54:37 2009 +0200
@@ -3,8 +3,6 @@
# 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
@@ -19,47 +17,62 @@
export CVS_OPTIONS=-f
cd ..
-filter='sed "s:$CVSROOT:*REPO*:g"'
+filterpath()
+{
+ eval "$@" | sed "s:$CVSROOT:*REPO*:g"
+}
+
cvscall()
{
- cvs -f "$@" | eval $filter
+ echo cvs -f "$@"
+ cvs -f "$@" 2>&1
}
-cvscall -q -d "$CVSROOT" init
+# output of 'cvs ci' varies unpredictably, so just discard it
+cvsci()
+{
+ echo cvs -f ci "$@"
+ cvs -f ci "$@" >/dev/null 2>&1
+}
+
+filterpath cvscall -d "$CVSROOT" init
mkdir cvsrepo/proj
-cvscall co proj
+cvscall -q co proj
echo % create file1 on the trunk
cd proj
touch file1
-cvscall add file1
-cvscall ci -m"add file1 on trunk" file1
+cvscall -Q add file1
+cvsci -m"add file1 on trunk" file1
echo % create two branches
-cvscall tag -b v1_0
-cvscall tag -b v1_1
+cvscall -q tag -b v1_0
+cvscall -q tag -b v1_1
echo % create file2 on branch v1_0
-cvs up -rv1_0
+cvscall -q up -rv1_0
touch file2
-cvscall add file2
-cvscall ci -m"add file2 on branch v1_0" file2
+cvscall -Q add file2
+cvsci -m"add file2 on branch v1_0" file2
echo % create file3, file4 on branch v1_1
-cvs up -rv1_1
+cvscall -Q up -rv1_1
touch file3
touch file4
-cvscall add file3 file4
-cvscall ci -m"add file3, file4 on branch v1_1" file3 file4
+cvscall -Q add file3 file4
+cvsci -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"
+cvscall -q up -jv1_0
+cvsci -m"merge file2 from v1_0 to v1_1"
+
+echo % cvs rlog output
+filterpath cvscall -q rlog proj | egrep '^(RCS file|revision)'
echo % convert to hg
cd ..
-hg convert proj proj.hg | eval $filter
+filterpath hg convert proj proj.hg
echo % hg log output
hg -R proj.hg log --template "{rev} {desc}\n"
--- a/tests/test-convert-cvs-synthetic.out Sat Apr 18 09:43:21 2009 -0400
+++ b/tests/test-convert-cvs-synthetic.out Sat Apr 18 22:54:37 2009 +0200
@@ -1,37 +1,40 @@
% create cvs repository with one project
-cvs checkout: Updating proj
+cvs -f -d *REPO* init
+cvs -f -q co proj
% create file1 on the trunk
-cvs add: scheduling file `file1' for addition
-cvs add: use `cvs commit' to add this file permanently
-*REPO*/proj/file1,v <-- file1
-initial revision: 1.1
+cvs -f -Q add file1
+cvs -f ci -madd file1 on trunk file1
% create two branches
-cvs tag: Tagging .
+cvs -f -q tag -b v1_0
T file1
-cvs tag: Tagging .
+cvs -f -q tag -b v1_1
T file1
% create file2 on branch v1_0
-cvs update: Updating .
-cvs add: scheduling file `file2' for addition on branch `v1_0'
-cvs add: use `cvs commit' to add this file permanently
-*REPO*/proj/Attic/file2,v <-- file2
-new revision: 1.1.2.1; previous revision: 1.1
+cvs -f -q up -rv1_0
+cvs -f -Q add file2
+cvs -f ci -madd file2 on branch v1_0 file2
% create file3, file4 on branch v1_1
-cvs update: Updating .
-cvs update: `file2' is no longer in the repository
-cvs add: scheduling file `file3' for addition on branch `v1_1'
-cvs add: scheduling file `file4' for addition on branch `v1_1'
-cvs add: use `cvs commit' to add these files permanently
-*REPO*/proj/Attic/file3,v <-- file3
-new revision: 1.1.2.1; previous revision: 1.1
-*REPO*/proj/Attic/file4,v <-- file4
-new revision: 1.1.2.1; previous revision: 1.1
+cvs -f -Q up -rv1_1
+cvs -f -Q add file3 file4
+cvs -f ci -madd file3, file4 on branch v1_1 file3 file4
% merge file2 from v1_0 to v1_1
-cvs update: Updating .
+cvs -f -q up -jv1_0
U file2
-cvs commit: Examining .
-*REPO*/proj/Attic/file2,v <-- file2
-new revision: 1.1.4.2; previous revision: 1.1.4.1
+cvs -f ci -mmerge file2 from v1_0 to v1_1
+% cvs rlog output
+RCS file: *REPO*/proj/file1,v
+revision 1.1
+RCS file: *REPO*/proj/Attic/file2,v
+revision 1.1
+revision 1.1.4.2
+revision 1.1.4.1
+revision 1.1.2.1
+RCS file: *REPO*/proj/Attic/file3,v
+revision 1.1
+revision 1.1.2.1
+RCS file: *REPO*/proj/Attic/file4,v
+revision 1.1
+revision 1.1.2.1
% convert to hg
initializing destination proj.hg repository
connecting to *REPO*