Modifying 3rd Party Code

From:

Robert Longworth

Subject:

Modifying 3rd Party Code

Date:

Tue, 16 Jan 2001 14:25:10 -0000

Hi All,
I've been reading this list for a while but haven't seen a solution to this
problem yet, it basically concerns merging the changes we make to some
source with the changes present in the next vendor release. This is what I
did to test the problem.
I had four identical files file1.txt file2.txt file3.txt and file4.txt in a
directory.
I imported these with the command
cvs import -m "Import of Initial Vendor Release" testapp VEND R1_0
and check them out with the command
cvs checkout -P testapp (in directory C:\)
cvs checkout: Updating testapp
U testapp/file1.txt
U testapp/file2.txt
U testapp/file3.txt
U testapp/file4.txt
all is fine so I commit them to repository:-
cvs commit -m "Commit 4 Initial Vendor Release Files" file4.txt file3.txt
file2.txt file1.txt (in directory C:\testapp\)
Now supposing we wanted to make some changes to file1.txt and file3.txt, I
checked them out, and issue the command
cvs edit file3.txt file1.txt
Add a few lines of text to the top, save them, they are shown as red
(modified) in WinCVS, I commit them and CVS tells me they are now at version
1.2
Now supposing a new vendor release comes out, but the only changes are to
files file3.txt and file4.txt (so I've covered all four combinations here;
file1.txt = modified by us, not by vendor
file2.txt = not modified by us, not by vendor
file3.txt = modified by us and by the vendor
file4.txt = modified by vendor, not by us
so I cd to the directory where these files are and;
cvs import -I ! -I CVS -m "Import of Updated Vendor Version" testapp VEND
R1_2 (in directory C:\vendor_release)
so I've only changed the release tag, the output of this command is
U testapp/file1.txt
U testapp/file2.txt
C testapp/file3.txt
U testapp/file4.txt
1 conflicts created by this import.
Use the following command to help the merge:
cvs checkout -jVEND:yesterday -jVEND testapp
Which is what you'd expect since file3 was modified by us, and also by the
vendor. BUT when I issue that command I get
cvs checkout -jVEND:yesterday -jVEND testapp (in directory C:\)
cvs checkout: Updating testapp
cvs checkout: file testapp/file1.txt exists, but has been added in revision
VEND
cvs checkout: file testapp/file3.txt exists, but has been added in revision
VEND
U testapp/file4.txt
If I check file 3 it only contains the changes that we made and has not
merged these with the vendors changes?? What am I doing wrong? I've followed
the instructions in the CVS help file, Any help will be much appreciated. :)
I'm using WinCVS v1.1b17 and CVS v1.11
---
Robbie Longworth
Graduate Engineer
Datel Defence Ltd
**********************************************************************
--------------------------------------------------------------
Unless confirmed in writing the information contained in this
message is for information only. The contents of this message
are mine and may not in any way reflect the views of any member
company of Datel Defence Ltd. Datel Defence Ltd reserve the right
to monitor e-mail at any time.
An Ultra Electronics Company
--------------------------------------------------------------
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.
This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.
www.mimesweeper.com
**********************************************************************