VCP::MainBranchIdDB - Persistant storage for tracking which branch_ids are the
main CVS dev branch for each file.
use base qw( VCP::MainBranchIdDB );
Some repositories branch in file name space (p4, vss), others in revision number
space (cvs). Those that branch in revision space have an inherent concept of a
file's main branch in its revision number, while those that branch in name
space do not have an inherent idea of the main branch of a file that can be
discerned without going back and checking the first revision of each file. In
other words, these repositories always have a branch_id, event for the main
branch of a file.
It's up to the destination repository to track which branch of each file it
considers to be the main development branch.
Note that "" is a perfectly valid branch_id that often indicates the
main development branch. This is SCM (and VCP::Source::*) specific, but occurs
in cvs and is expected to occur in any SCMs that branch in revision space and
have the empty prefix as the branch prefix for the main development branch.
NOTE: unlike RevMapDB and HeadRevsDB, this DB is not modelling information per
source repository; it is modelling information per destination repository. So
the key is destination-side and does not include the source_repo_id.
TODO: allow the user to indicate this using a VCP::Filter::* module.
Barrie Slaymaker <firstname.lastname@example.org>
Copyright (c) 2000, 2001, 2002 Perforce Software, Inc. All rights reserved.