|
|
% 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
|
|
|
|