[Top][All Lists]

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

Bad vendor branch import on top of non-vendor sources

From: McHenry, Matt
Subject: Bad vendor branch import on top of non-vendor sources
Date: Fri, 21 Jul 2006 16:47:05 -0400

        We just had a mishap with our repository, and I'm hoping for
some help understanding its implications.  (In other words, are we

        Background: We have two CVS repositories in-house, one that's
private and one that we use to allow some colleagues & clients to access
our source and make their own modifications.  Periodically, we do a
"drop" from the private to the public repos., storing our internal
sources on a vendor branch in the public repository.  The drops are
based on a specific tag in the private repos., and that tag is used as
the release-tag argument in the import command against the public repos.

        What happened is that the 'cvs import' command that should've
been run against the public repos. was accidentally run against the
private repository.  D'oh!  (Prior to this mishap, there was no vendor
branch in the private repos.)  As far as I can reconstruct it, the
commands went something like this:

CVSROOT=<private> cvs export -r PRIVATE_TAG module
cd module
CVSROOT=<private> cvs import module VENDOR PRIVATE_TAG #should have been

        What I've discovered so far is that PRIVATE_TAG was moved from
its old location to the new VENDOR branch (rev. of all affected
files).  (The PRIVATE_TAG was originally on another branch, not the
trunk, if that matters.)  This is unfortunate, but as it happens,
recoverable.  (No additional changes have been committed on the original
branch since PRIVATE_TAG was originally created, so I can just re-tag
the edge of the branch again.)

        What I don't understand fully (even after some experiments in a
sandbox repos.) is what the implications are for the trunk in the
private repos. now that this vendor branch exists.  I've read elsewhere
that a vendor branch "becomes HEAD" until a commit is made, which I
don't fully understand to begin with.  But I couldn't find anything
about a vendor branch being created *after* commits had been made on the
trunk.  We've been using the private repos. for a day or so since this
happened and everything *seems* to be working, but I sure would be a lot
more comfortable if someone could tell me for sure.  :)

        The only similar problem I could find was this one:  The
suggestion there was to run 'cvs admin -b' to "reset the default branch
to the trunk, file by file".  Is that necessary in this case as well?

reply via email to

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