- backfill
-
$dest->backfill( $rev ) ;
Checks the file indicated by VCP::Rev
$rev out of the target repository if this
destination supports backfilling. Currently, only the revml and the
reporting & debugging destinations do not support backfilling.
The $rev->workpath must be set to
the filename the backfill was put in.
This is used when doing an incremental update, where the first
revision of a file in the update is encoded as a delta from the prior
version. A digest of the prior version is sent along before the first
version delta to verify it's presence in the database.
So, the source calls backfill(), which returns TRUE on
success, FALSE if the destination doesn't support backfilling, and dies
if there's an error in procuring the right revision.
If FALSE is returned, then the revisions will be sent through
with no working path, but will have a delta record.
MUST BE OVERRIDDEN.
- sort_filter
-
sub sort_filter {
my $self = shift;
my @sort_keys = @_;
return () if @sort_keys && $sort_keys[0] eq "change_id";
require VCP::Filter::changesets;
return ( VCP::Filter::changesets->new(), );
}
This is passed a sort specification string and returns any
filters needed to presort data for this destination. It may return the
empty list (the default), or one or more instantiated filters.
- require_change_id_sort
- Destinations that care about the sort order usually want to use the
changesets filter, so they can overload the sort filter like so:
sub sort_filters { shift->require_change_id_sort( @_ ) }
- handle_footer
-
$dest->handle_footer( $footer ) ;
Does any cleanup necessary. Not required. Don't call this from
the override.
- handle_header
-
$dest->handle_header( $header ) ;
Stows $header in
$self->header. This should only rarely be
overridden, since the first call to handle_rev() should output
any header info.
- rev_count
-
$dest->rev_count( $number_of_revs_forthcoming );
Sent by the last aggregating plugin in the filter chain just
before the first revision is sent to inform us of the number of revs to
expect.
- skip_rev
- Sent by filters that discard revisions in line.
- handle_rev
-
$dest->handle_rev( $rev ) ;
Outputs the item referred to by VCP::Rev
$rev. If this is the first call, then
$self->none_seen will be TRUE and any
preamble should be emitted.
MUST BE OVERRIDDEN. Don't call this from the override.
- last_rev_in_filebranch
-
my $rev_id = $dest->last_rev_in_filebranch(
$source_repo_id,
$source_filebranch_id
);
Returns the last revision for the file and branch indicated by
$source_filebranch_id. This is used to support
--continue.
Returns undef if not found.