HeadRevsDB.pm #1

  • //
  • guest/
  • perforce_software/
  • revml/
  • lib/
  • VCP/
  • HeadRevsDB.pm
  • View
  • Commits
  • Open Download .zip Download (1 KB)
package VCP::HeadRevsDB;

=head1 NAME

VCP::HeadRevsDB - Persistant storage for id -> (name, rev_id) maps

=head1 SYNOPSIS

    use base qw( VCP::HeadRevsDB );

=head1 DESCRIPTION

By default, most VCP::Dest::* drivers keep track of the head revision
transferred to the destination for each branch of each file.  This
is used by VCP::Source::* drivers when figuring out what revisions
to export in an incremental (or resumed) export..

The intent for this file is to serve as a base class so that individual
sites may write their own HeadRevsDB plugins to, for instance, store this
state in a RDBMS table.  This is not quite offered at this time; we need
to add an option to the appropriate VCP::Dest::* modules to allow the
appropriate HeadRevsDB file to be loaded.

To write your own HeadRevsDB file, see VCP::HeadRevsDB::sdbm.

=for test_script t/01revmapdb.t

=cut

$VERSION = 1 ;

use strict ;

use base "VCP::DB_File";

sub new {
    shift->SUPER::new( TableName => "head_revs", @_ );
}

=head1 AUTHOR

Barrie Slaymaker <barries@slaysys.com>

=head1 COPYRIGHT

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

See L<VCP::License|VCP::License> (C<vcp help license>) for the terms of use.

=cut

1
# Change User Description Committed
#3 4021 Barrie Slaymaker - Remove all phashes and all base & fields pragmas
- Work around SWASHGET error
#2 2802 John Fetkovich Added a source_repo_id to each revision, and repo_id to each
Source and Dest.  The repo_ids include repository type
(cvs,p4,revml,vss,...) and the repo_server fields.  Changed the
$self->...->set() and $self->...->get() lines in VCP::Dest::* to
pass in a conglomerated key value, by passing in the key as an
ARRAY ref.  Also various restructuring in VCP::DB.pm,
VCP::DB_file.pm and VCP::DB_file::sdbm.pm related to this
change.
#1 2723 Barrie Slaymaker Finish generalizing DB_File, implement HeadRevsDB