info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Vendor branches, imports and checkouts


From: Ross Patterson
Subject: Vendor branches, imports and checkouts
Date: Mon, 16 Dec 2002 09:48:33 -0500

I've just been surprised by "cvs import", and I'm having a hard time deciding 
who's wrong and how to best approach the problem.  What's a poor geek to do?

We've got a CVS repository here that contains a modified version of the 
NetBSD kernel.  We built it by importing the source as a vendor branch (lots 
of untarring, then "cvs import $REPONAME NETBSD NETBSD_1_5 usr/src/").  Over 
time, we've modified a number of files, checking them out and back in 
appropriately.  Now we've begun to update to the next kernel release (another 
round of untarring, then "cvs import $REPONAME NETBSD NETBSD_1_6 usr/src/"), 
and my colleagues are receiving the changes (via "cvs update") even though 
they haven't been merged into the main trunk yet.  I've advised them to 
checkout the head revision ("cvs checkout -r HEAD ...") and work on that 
while I try to figure things out - I think that's the right plan.

All our changes have been checked in to the main trunk, with branches off the 
trunk whenever we freeze a release, and release-specific bugfixes checked in 
to the correct branches.  So we have a main trunk of active development (1.1, 
1.2, ...) with some branches off it (1.2.2, 1.5.2, etc) for fixes (1.2.2.1, 
1.2.2.2, ...; 1.5.2.1, 1.5.2.2, ..., etc.) and a vendor branch (1.1.1) 
containing the imported releases (1.1.1.1, 1.1.1.2, ...).  I'm very surprised 
that "cvs update" from within a checked-out working directory picked up the 
newly imported NetBSD 1.6 revisions (1.1.1.2) for the files we haven't 
modified.  The head revision is still on the 1.1 revision (verified from the 
RCS files and via cvsgraph), and based on reading the Cederqvist and other 
sources (but not the CVS source - yet), I'd expect the vendor branch to be a 
stub off the main trunk and for it to have no impact on an unqualified "cvs 
checkout".

Have I misunderstood the interactions between import, checkout and update?  
Should I have told my colleagues all along to "cvs checkout -r HEAD" so they 
stay on the main trunk?

Thanks,
Ross
-- 
Ross A. Patterson
CatchFIRE Systems, Inc.
5885 Trinity Parkway, Suite 220
Centreville, VA  20120
(703) 563-4164




reply via email to

[Prev in Thread] Current Thread [Next in Thread]