[Top][All Lists]
[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
- Vendor branches, imports and checkouts,
Ross Patterson <=