changeset 5307:5b0b0834419c

convert: test cvs repository conversion
author Patrick Mezard <pmezard@gmail.com>
date Fri, 14 Sep 2007 22:47:15 +0200
parents 7256cc396bbf
children 9400d677efc7 121f961b358c
files tests/test-convert-cvs tests/test-convert-cvs.out
diffstat 2 files changed, 93 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
new file mode 100755
--- /dev/null
+++ b/tests/test-convert-cvs
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+"$TESTDIR/hghave" cvs cvsps || exit 80
+
+echo "[extensions]" >> $HGRCPATH
+echo "convert = " >> $HGRCPATH
+
+echo % create cvs repository
+mkdir cvsrepo
+cd cvsrepo
+export CVSROOT=`pwd`
+cd ..
+
+cvs -q -d "$CVSROOT" init
+
+echo % create source directory
+mkdir src-temp
+cd src-temp
+echo a > a
+mkdir b
+cd b
+echo c > c
+cd ..
+
+echo % import source directory
+cvs -q import -m import src INITIAL start
+cd ..
+
+echo % checkout source directory
+cvs -q checkout src
+
+echo % convert fresh repo
+hg convert src src-hg | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g'
+cat src-hg/a
+cat src-hg/b/c
+
+echo % commit new file revisions
+cd src
+echo a >> a
+echo c >> b/c
+cvs -q commit -mci1 . | sed -e 's:.*src/\(.*\),v:src/\1,v:g'
+cd ..
+
+echo % convert again
+hg convert src src-hg | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g'
+cat src-hg/a
+cat src-hg/b/c
+
+
+
new file mode 100644
--- /dev/null
+++ b/tests/test-convert-cvs.out
@@ -0,0 +1,43 @@
+% create cvs repository
+% create source directory
+% import source directory
+N src/a
+N src/b/c
+
+No conflicts created by this import
+
+% checkout source directory
+U src/a
+U src/b/c
+% convert fresh repo
+connecting to cvsrepo
+initializing destination src-hg repository
+scanning source...
+sorting...
+converting...
+1 Initial revision
+0 import
+updating tags
+a
+c
+% commit new file revisions
+Checking in a;
+src/a,v  <--  a
+new revision: 1.2; previous revision: 1.1
+done
+Checking in b/c;
+src/b/c,v  <--  c
+new revision: 1.2; previous revision: 1.1
+done
+% convert again
+connecting to cvsrepo
+destination src-hg is a Mercurial repository
+scanning source...
+sorting...
+converting...
+0 ci1
+updating tags
+a
+a
+c
+c