tests: unify test-convert-cvs-branch
authorMatt Mackall <mpm@selenic.com>
Sun, 26 Sep 2010 15:33:09 -0500
changeset 12520 873ca83d6cfd
parent 12519 99232aa664d6
child 12521 539480ce1c89
tests: unify test-convert-cvs-branch
tests/test-convert-cvs-branch
tests/test-convert-cvs-branch.out
tests/test-convert-cvs-branch.t
--- a/tests/test-convert-cvs-branch	Sun Sep 26 14:50:58 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-#!/bin/sh
-
-# This is http://mercurial.selenic.com/bts/issue1148
-#     and http://mercurial.selenic.com/bts/issue1447
-
-"$TESTDIR/hghave" cvs || exit 80
-
-cvscall()
-{
-    cvs -f "$@"
-}
-
-echo "[extensions]" >> $HGRCPATH
-echo "convert = " >> $HGRCPATH
-echo "graphlog = " >> $HGRCPATH
-echo "[convert]" >> $HGRCPATH
-echo "cvsps.cache=0" >> $HGRCPATH
-
-echo % create cvs repository
-mkdir cvsrepo
-cd cvsrepo
-CVSROOT=`pwd`
-export CVSROOT
-CVS_OPTIONS=-f
-export CVS_OPTIONS
-cd ..
-
-cvscall -q -d "$CVSROOT" init
-
-echo % Create a new project
-
-mkdir src
-cd src
-echo "1" > a
-echo "1" > b
-cvscall import -m "init" src v0 r0 | sort
-cd ..
-cvscall co src
-cd src
-
-echo % Branch the project
-
-cvscall tag -b BRANCH
-cvscall up -r BRANCH > /dev/null
-
-echo % Modify file a, then b, then a 
-
-echo "2" > a
-cvscall ci -m "mod a" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g'
-
-echo "2" > b
-cvscall ci -m "mod b" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g'
-
-echo "3" > a
-cvscall ci -m "mod a again" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g'
-
-echo % Convert
-
-cd ..
-hg convert src | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g'
-
-echo % Check the result
-
-hg -R src-hg glog --template '{rev} ({branches}) {desc} files: {files}\n'
-
-echo ""
-
-echo % issue 1447
-cvscall()
-{
-    echo cvs -f "$@"
-    cvs -f "$@"
-    sleep 1
-}
-
-cvsci()
-{
-    echo cvs -f ci "$@"
-    cvs -f ci "$@" >/dev/null 2>&1
-    sleep 1
-}
-
-cvscall -Q -d `pwd`/cvsmaster2 init >/dev/null 2>&1
-cd cvsmaster2
-CVSROOT=`pwd`
-export CVSROOT
-mkdir foo
-cd ..
-cvscall -Q co -d cvswork2 foo
-
-cd cvswork2
-echo foo > a.txt
-echo bar > b.txt
-cvscall -Q add a.txt b.txt
-cvsci -m "Initial commit"
-
-echo foo > b.txt
-cvsci -m "Fix b on HEAD"
-
-echo bar > a.txt
-cvsci -m "Small fix in a on HEAD"
-
-cvscall -Q tag -b BRANCH
-cvscall -Q up -P -rBRANCH
-
-echo baz > b.txt
-cvsci -m "Change on BRANCH in b"
-
-hg debugcvsps -x --parents foo | sed -e 's/Author:.*/Author:/' -e 's/Date:.*/Date:/'
-
-cd ..
-
--- a/tests/test-convert-cvs-branch.out	Sun Sep 26 14:50:58 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-% create cvs repository
-% Create a new project
-
-
-N src/a
-N src/b
-No conflicts created by this import
-cvs checkout: Updating src
-U src/a
-U src/b
-% Branch the project
-cvs tag: Tagging .
-T a
-T b
-cvs update: Updating .
-% Modify file a, then b, then a
-cvs commit: Examining .
-checking in src/a,v
-cvs commit: Examining .
-checking in src/b,v
-cvs commit: Examining .
-checking in src/a,v
-% Convert
-assuming destination src-hg
-initializing destination src-hg repository
-connecting to cvsrepo
-scanning source...
-collecting CVS rlog
-7 log entries
-creating changesets
-5 changeset entries
-sorting...
-converting...
-4 Initial revision
-3 init
-2 mod a
-1 mod b
-0 mod a again
-updating tags
-% Check the result
-o  5 () update tags files: .hgtags
-|
-| o  4 (BRANCH) mod a again files: a
-| |
-| o  3 (BRANCH) mod b files: b
-| |
-| o  2 (BRANCH) mod a files: a
-| |
-| o  1 (v0) init files:
-|/
-o  0 () Initial revision files: a b
-
-
-% issue 1447
-cvs -f -Q co -d cvswork2 foo
-cvs -f -Q add a.txt b.txt
-cvs -f ci -m Initial commit
-cvs -f ci -m Fix b on HEAD
-cvs -f ci -m Small fix in a on HEAD
-cvs -f -Q tag -b BRANCH
-cvs -f -Q up -P -rBRANCH
-cvs -f ci -m Change on BRANCH in b
-collecting CVS rlog
-5 log entries
-creating changesets
-4 changeset entries
----------------------
-PatchSet 1 
-Date:
-Author:
-Branch: HEAD
-Tag: (none) 
-Log:
-Initial commit
-
-Members: 
-	a.txt:INITIAL->1.1 
-	b.txt:INITIAL->1.1 
-
----------------------
-PatchSet 2 
-Date:
-Author:
-Branch: HEAD
-Tag: (none) 
-Branchpoints: BRANCH 
-Parent: 1
-Log:
-Fix b on HEAD
-
-Members: 
-	b.txt:1.1->1.2 
-
----------------------
-PatchSet 3 
-Date:
-Author:
-Branch: HEAD
-Tag: (none) 
-Branchpoints: BRANCH 
-Parent: 2
-Log:
-Small fix in a on HEAD
-
-Members: 
-	a.txt:1.1->1.2 
-
----------------------
-PatchSet 4 
-Date:
-Author:
-Branch: BRANCH
-Tag: (none) 
-Parent: 3
-Log:
-Change on BRANCH in b
-
-Members: 
-	b.txt:1.2->1.2.2.1 
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-convert-cvs-branch.t	Sun Sep 26 15:33:09 2010 -0500
@@ -0,0 +1,190 @@
+This is http://mercurial.selenic.com/bts/issue1148
+and http://mercurial.selenic.com/bts/issue1447
+
+  $ "$TESTDIR/hghave" cvs || exit 80
+  $ cvscall()
+  > {
+  >     cvs -f "$@" > /dev/null
+  > }
+  $ echo "[extensions]" >> $HGRCPATH
+  $ echo "convert = " >> $HGRCPATH
+  $ echo "graphlog = " >> $HGRCPATH
+  $ echo "[convert]" >> $HGRCPATH
+  $ echo "cvsps.cache=0" >> $HGRCPATH
+
+create cvs repository
+
+  $ mkdir cvsrepo
+  $ cd cvsrepo
+  $ CVSROOT=`pwd`
+  $ export CVSROOT
+  $ CVS_OPTIONS=-f
+  $ export CVS_OPTIONS
+  $ cd ..
+  $ cvscall -q -d "$CVSROOT" init
+
+Create a new project
+
+  $ mkdir src
+  $ cd src
+  $ echo "1" > a
+  $ echo "1" > b
+  $ cvscall import -m "init" src v0 r0 | sort
+  $ cd ..
+  $ cvscall co src
+  cvs checkout: Updating src
+  $ cd src
+
+Branch the project
+
+  $ cvscall tag -b BRANCH
+  cvs tag: Tagging .
+  $ cvscall up -r BRANCH > /dev/null
+  cvs update: Updating .
+
+Modify file a, then b, then a 
+
+  $ echo "2" > a
+  $ cvscall ci -m "mod a"
+  cvs commit: Examining .
+  $ echo "2" > b
+  $ cvscall ci -m "mod b"
+  cvs commit: Examining .
+  $ echo "3" > a
+  $ cvscall ci -m "mod a again"
+  cvs commit: Examining .
+
+Convert
+
+  $ cd ..
+  $ hg convert src
+  assuming destination src-hg
+  initializing destination src-hg repository
+  connecting to */cvsrepo (glob)
+  scanning source...
+  collecting CVS rlog
+  7 log entries
+  creating changesets
+  5 changeset entries
+  sorting...
+  converting...
+  4 Initial revision
+  3 init
+  2 mod a
+  1 mod b
+  0 mod a again
+  updating tags
+
+Check the result
+
+  $ hg -R src-hg glog --template '{rev} ({branches}) {desc} files: {files}\n'
+  o  5 () update tags files: .hgtags
+  |
+  | o  4 (BRANCH) mod a again files: a
+  | |
+  | o  3 (BRANCH) mod b files: b
+  | |
+  | o  2 (BRANCH) mod a files: a
+  | |
+  | o  1 (v0) init files:
+  |/
+  o  0 () Initial revision files: a b
+  
+
+
+issue 1447
+
+  $ cvscall()
+  > {
+  >     cvs -f "$@" > /dev/null
+  >     sleep 1
+  > }
+  $ cvsci()
+  > {
+  >     cvs -f ci "$@" >/dev/null
+  >     sleep 1
+  > }
+  $ cvscall -Q -d `pwd`/cvsmaster2 init
+  $ cd cvsmaster2
+  $ CVSROOT=`pwd`
+  $ export CVSROOT
+  $ mkdir foo
+  $ cd ..
+  $ cvscall -Q co -d cvswork2 foo
+  $ cd cvswork2
+  $ echo foo > a.txt
+  $ echo bar > b.txt
+  $ cvscall -Q add a.txt b.txt
+  $ cvsci -m "Initial commit"
+  cvs commit: Examining .
+  $ echo foo > b.txt
+  $ cvsci -m "Fix b on HEAD"
+  cvs commit: Examining .
+  $ echo bar > a.txt
+  $ cvsci -m "Small fix in a on HEAD"
+  cvs commit: Examining .
+  $ cvscall -Q tag -b BRANCH
+  $ cvscall -Q up -P -rBRANCH
+  $ echo baz > b.txt
+  $ cvsci -m "Change on BRANCH in b"
+  cvs commit: Examining .
+  $ hg debugcvsps -x --parents foo
+  collecting CVS rlog
+  5 log entries
+  creating changesets
+  4 changeset entries
+  ---------------------
+  PatchSet 1 
+  Date: * (glob)
+  Author: * (glob)
+  Branch: HEAD
+  Tag: (none) 
+  Log:
+  Initial commit
+  
+  Members: 
+  	a.txt:INITIAL->1.1 
+  	b.txt:INITIAL->1.1 
+  
+  ---------------------
+  PatchSet 2 
+  Date: * (glob)
+  Author: * (glob)
+  Branch: HEAD
+  Tag: (none) 
+  Branchpoints: BRANCH 
+  Parent: 1
+  Log:
+  Fix b on HEAD
+  
+  Members: 
+  	b.txt:1.1->1.2 
+  
+  ---------------------
+  PatchSet 3 
+  Date: * (glob)
+  Author: * (glob)
+  Branch: HEAD
+  Tag: (none) 
+  Branchpoints: BRANCH 
+  Parent: 2
+  Log:
+  Small fix in a on HEAD
+  
+  Members: 
+  	a.txt:1.1->1.2 
+  
+  ---------------------
+  PatchSet 4 
+  Date: * (glob)
+  Author: * (glob)
+  Branch: BRANCH
+  Tag: (none) 
+  Parent: 3
+  Log:
+  Change on BRANCH in b
+  
+  Members: 
+  	b.txt:1.2->1.2.2.1 
+  
+