man VCP::MainBranchIdDB () - Persistant storage for tracking which branch_ids are the main CVS dev branch for each file.

NAME

VCP::MainBranchIdDB - Persistant storage for tracking which branch_ids are the main CVS dev branch for each file.

SYNOPSIS

    use base qw( VCP::MainBranchIdDB );

DESCRIPTION

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.

AUTHOR

Barrie Slaymaker <barries@slaysys.com>

COPYRIGHT

Copyright (c) 2000, 2001, 2002 Perforce Software, Inc. All rights reserved.

See VCP::License (CWvcp help license) for the terms of use.