tests/test-convert-cvs-detectmerge.out
author Greg Ward <greg-hg@gerg.ca>
Sun, 19 Apr 2009 12:20:39 -0400
changeset 8170 6c4fdde87f90
child 8171 4e5bd9b97bb3
permissions -rw-r--r--
cvsps: add test for merge detection (issue1615). Currently only testing convert.cvsps.mergefrom; this script should also probably test convert.cvsps.mergeto.

% create cvs repository with one project
cvs -f -q -d *REPO* init
% populate cvs repository
cvs -f -Q co proj
cvs -f -Q add file1
cvs -f ci -madd file1 on trunk
% create two release branches
cvs -f -q tag -b v1_0
T file1
cvs -f -q tag -b v1_1
T file1
% modify file1 on branch v1_0
cvs -f -Q update -rv1_0
cvs -f ci -madd text
% make unrelated change on v1_1
cvs -f -Q update -rv1_1
cvs -f -Q add unrelated
cvs -f ci -munrelated change
% merge file1 to v1_1
cvs -f -Q update -jv1_0
RCS file: *REPO*/proj/file1,v
retrieving revision 1.1
retrieving revision 1.1.2.1
Merging differences between 1.1 and 1.1.2.1 into file1
cvs -f ci -madd text [MERGE from v1_0]
% merge change to trunk
cvs -f -Q update -A
cvs -f -Q update -jv1_1
RCS file: *REPO*/proj/file1,v
retrieving revision 1.1
retrieving revision 1.1.4.1
Merging differences between 1.1 and 1.1.4.1 into file1
cvs -f ci -madd text [MERGE from v1_1]
% non-merged change on trunk
cvs -f -Q add file2
cvs -f ci -madd file2 on trunk file2
% change on trunk to backport
cvs -f ci -madd other text file1
revision 1.3
add other text
----------------------------
revision 1.2
add text [MERGE from v1_1]
----------------------------
revision 1.1
branches:  1.1.2;  1.1.4;
add file1 on trunk
----------------------------
revision 1.1.4.1
add text [MERGE from v1_0]
----------------------------
revision 1.1.2.1
add text
=============================================================================
% backport trunk change to v1_1
cvs -f -Q update -rv1_1
cvs -f -Q update -j1.2 -j1.3 file1
RCS file: *REPO*/proj/file1,v
retrieving revision 1.2
retrieving revision 1.3
Merging differences between 1.2 and 1.3 into file1
cvs -f ci -madd other text [MERGE from HEAD] file1
% convert to hg
initializing destination proj.hg repository
connecting to *REPO*
scanning source...
using builtin cvsps
collecting CVS rlog
10 log entries
creating changesets
8 changeset entries
sorting...
converting...
7 add file1 on trunk
6 add text
5 unrelated change
4 add text [MERGE from v1_0]
3 add text [MERGE from v1_1]
2 add file2 on trunk
1 add other text
0 add other text [MERGE from HEAD]
% complete log
7: 'v1_1' add other text [MERGE from HEAD]
6: '' add other text
5: '' add file2 on trunk
4: '' add text [MERGE from v1_1]
3: 'v1_1' add text [MERGE from v1_0]
2: 'v1_1' unrelated change
1: 'v1_0' add text
0: '' add file1 on trunk
% parents of rev 3
2: 'v1_1' unrelated change
1: 'v1_0' add text
% parents of rev 4
0: '' add file1 on trunk
3: 'v1_1' add text [MERGE from v1_0]
% parents of rev 5
4: '' add text [MERGE from v1_1]
% parents of rev 7
3: 'v1_1' add text [MERGE from v1_0]
6: '' add other text