CVS Branching

Created file and checked-in to the trunck

gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> echo "this is a test files" > test.txt
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cvs add test.txt
cvs add: scheduling file `test.txt’ for addition
cvs add: use ‘cvs commit’ to add this file permanently
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cvs commit test.txt
RCS file: /u/gunnalag/repository/cvstest/test.txt,v
done
Checking in test.txt;
/u/gunnalag/repository/cvstest/test.txt,v  <–  test.txt
initial revision: 1.1
done
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest>

Update file on other user and verify initial contents

gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest> cat test.txt
this is a test files
gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest>

Created branch_1:

gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cvs tag -b BRANCH_1 test.txt
T test.txt
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest>

Made editions in branch_1:  unless I commit these changes wouldn’t be avail under trunck

gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> echo "additions from branch_1" >> test.txt
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cat test.txt
this is a test files
additions from branch_1
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest>

Saved branch_1 changes in repository:

gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cvs commit -r BRANCH_1 test.txt
Checking in test.txt;
/u/gunnalag/repository/cvstest/test.txt,v  <–  test.txt
new revision: 1.1.2.1; previous revision: 1.1
done
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest>

Verify that am able to retrieve branch_1/trunck changes as other user:

gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest> cvs update -r BRANCH_1 test.txt
P test.txt
gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest> cat test.txt
this is a test files
additions from branch_1
gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest> cvs update -r1.1 test.txt
P test.txt
gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest> cat test.txt
this is a test files

gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest>

Edit branch_1 and commit changes:

gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cvs diff -u test.txt
Index: test.txt
===================================================================
RCS file: /u/gunnalag/repository/cvstest/test.txt,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 test.txt
— test.txt    25 Mar 2009 09:43:32 -0000      1.1.2.1
+++ test.txt    25 Mar 2009 09:48:44 -0000
@@ -1,2 +1,4 @@
this is a test files
+ edits on BRANCH_1.
additions from branch_1
+
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cvs commit -r BRANCH_1 test.txt
Checking in test.txt;
/u/gunnalag/repository/cvstest/test.txt,v  <–  test.txt
new revision: 1.1.2.2; previous revision: 1.1.2.1
done
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest>

Retrieve changes made to branch_1 as other users and verify:

gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest> cvs update -r BRANCH_1 test.txt
P test.txt
gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest> cat test.txt
this is a test files
edits on BRANCH_1.
additions from branch_1

gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest>

Merge branch_1 changes with trunck/head version and commit them:

gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cvs update -j BRANCH_1 test.txt
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cvs commit test.txt
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest>

Retrieve changes branch_1 mergered changes from trunck and verify:

gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest> rm test.txt
rm: remove test.txt (yes/no)? yes
gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest> cvs update test.txt
cvs update: warning: test.txt was lost
U test.txt
gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest> cat test.txt
this is a test files
edits on BRANCH_1.
additions from branch_1

gunnalag@TestSun2:/u/gunnalag/localcvs/test/cvstest>

gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cvs update -r1.1 test.txt
cvs update: warning: test.txt was lost
U test.txt
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cvs update -j BRANCH_2 test.txt
RCS file: /u/gunnalag/repository/cvstest/test.txt,v
retrieving revision 1.1
retrieving revision 1.1.2.2.2.1
Merging differences between 1.1 and 1.1.2.2.2.1 into test.txt
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cat test.txt
actual changes in branch2

this is a test files
edits on BRANCH_1.
additions from branch_1

gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cvs update -j BRANCH_1 test.txt
M test.txt
RCS file: /u/gunnalag/repository/cvstest/test.txt,v
retrieving revision 1.1
retrieving revision 1.1.2.3
Merging differences between 1.1 and 1.1.2.3 into test.txt
rcsmerge: warning: conflicts during merge
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest> cat test.txt
<<<<<<< test.txt
actual changes in branch2

=======
Insertion in BRANCH_II
>>>>>>> 1.1.2.3
this is a test files
<<<<<<< test.txt
edits on BRANCH_1.
additions from branch_1

=======

  testing.

edits on BRANCH_1.
additions from branch_1

>>>>>>> 1.1.2.3
gunnalag@TestSun1:/u/gunnalag/localcvs/cvstest>

 

Deleting a branch

gunnalag@TestSun2:/u/gunnalag/localcvs/test> cvs tag -dB BRANCH_2 test.txt
D test.txt
gunnala
g@TestSun2:/u/gunnalag/localcvs/test> cvs log test.txt

RCS file: /u/gunnalag/repository/cvstest/test.txt,v
Working file: test.txt
head: 1.2
branch:
locks: strict
access list:
symbolic names:
        BRANCH_1: 1.1.0.2
keyword substitution: kv
total revisions: 6;     selected revisions: 6
description:

Leave a Reply

Your email address will not be published. Required fields are marked *