[PATCH] convert: Add testcase for issue1211

Frank Kingswood frank at kingswood-consulting.co.uk
Thu Jul 3 14:14:45 CDT 2008


# HG changeset patch
# User Frank Kingswood <frank at kingswood-consulting.co.uk>
# Date 1215112401 -3600
# Node ID 8abe633593babe83b38281519989785f0c295478
# Parent  ceb28b67204e0556bdf18c36f109a44b1e6ec75e
convert: Add testcase for issue1211
This test will fail with external cvsps but succeed with builtin.

diff -r ceb28b67204e -r 8abe633593ba tests/test-convert-cvs-funnylog
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-convert-cvs-funnylog	Thu Jul 03 20:13:21 2008 +0100
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# This is http://www.selenic.com/mercurial/bts/issue1211
+
+"$TESTDIR/hghave" cvs || exit 80
+
+set -e
+
+cvscall()
+{
+    cvs -f "$@" | sed "s#$CVSROOT#\$CVSROOT#"
+    sleep 1
+}
+
+echo "[extensions]" >> $HGRCPATH
+echo "convert = " >> $HGRCPATH
+echo "graphlog = " >> $HGRCPATH
+echo "[convert]" >> $HGRCPATH
+# running with external cvsps causes an error
+echo "cvsps=builtin" >> $HGRCPATH
+
+echo % Create cvs repository
+
+export CVSROOT=$PWD/repo
+cvscall -d "$CVSROOT" init
+
+echo % Import
+mkdir test
+cd test
+echo version1 >file
+cvscall -q import -m m0 test v0 r0
+cd ..
+cvscall -q checkout test
+
+echo % Commit file with a message that looks like a CVS log tag
+cd test
+echo version2 >file
+cvscall ci -m 'tag: text;' file
+
+echo % And again
+echo version3 >file
+cvscall ci -m m3 file
+
+echo % Convert
+
+cd ..
+hg convert test | sed "s#$CVSROOT#\$CVSROOT#"
+
+echo % Check the result
+
+hg -R test-hg glog --template '#rev# (#branches#) "#desc#" files: #files#\n'
+
diff -r ceb28b67204e -r 8abe633593ba tests/test-convert-cvs-funnylog.out
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-convert-cvs-funnylog.out	Thu Jul 03 20:13:21 2008 +0100
@@ -0,0 +1,41 @@
+% Create cvs repository
+% Import
+N test/file
+
+No conflicts created by this import
+
+U test/file
+% Commit file with a message that looks like a CVS log tag
+$CVSROOT/test/file,v  <--  file
+new revision: 1.2; previous revision: 1.1
+% And again
+$CVSROOT/test/file,v  <--  file
+new revision: 1.3; previous revision: 1.2
+% Convert
+assuming destination test-hg
+initializing destination test-hg repository
+using builtin cvsps
+collecting CVS rlog
+4 log entries
+creating changesets
+4 changeset entries
+connecting to $CVSROOT
+scanning source...
+sorting...
+converting...
+3 Initial revision
+2 m0
+1 tag: text;
+0 m3
+updating tags
+% Check the result
+o  4 () "update tags" files: .hgtags
+|
+o  3 () "m3" files: file
+|
+o  2 () "tag: text;" files: file
+|
+| o  1 (v0) "m0" files:
+|/
+o  0 () "Initial revision" files: file
+


More information about the Mercurial-devel mailing list