Rechercher une page de manuel
SVN::Dump.3pm
Langue: en
Version: 2008-09-23 (debian - 07/07/09)
Section: 3 (Bibliothèques de fonctions)
NAME
SVN::Dump - A Perl interface to Subversion dumpsSYNOPSIS
#!/usr/bin/perl use strict; use warnings; use SVN::Dump; my $file = shift; my $dump = SVN::Dump->new( { file => $file } ); # compute some stats my %type; my %kind; while ( my $record = $dump->next_record() ) { $type{ $record->type() }++; $kind{ $record->get_headers()->{'Node-action'} }++ if $record->type() eq 'node'; } # print the results print "Statistics for dump $file:\n", " version: ", $dump->version(), "\n", " uuid: ", $dump->uuid(), "\n", " revisions: ", $type{revision}, "\n", " nodes: ", $type{node}, "\n"; print map { sprintf " - %-7s: %d\n", $_, $kind{$_} } sort keys %kind;
DESCRIPTION
This module is an alpha release. The interfaces will probably change in the future, as I slowly learn my way inside the SVN dump format.An "SVN::Dump" object represents a Subversion dump.
This module follow the semantics used in the reference document (the file notes/fs_dumprestore.txt in the Subversion source tree):
- •
- A dump is a collection of records ("SVN::Dump::Record" objects).
- •
- A record is composed of a set of headers (a "SVN::Dump::Headers" object), a set of properties (a "SVN::Dump::Property" object) and an optional bloc of text (a "SVN::Dump::Text" object).
- •
- Some special records ("delete" records with a "Node-kind" header) recursively contain included records.
Each class has a "as_string()" method that prints its content in the dump format.
The most basic thing you can do with "SVN::Dump" is simply copy a dump:
use SVN::Dump; my $dump = SVN::Dump->new( 'mydump.svn' ); print $dump->as_string(); # only print the dump header while( $rec = $dump->next_record() ) { print $rec->as_string(); }
After the operation, the resulting dump should be identical to the original dump.
METHODS
"SVN::Dump" provides the following methods:- new( \%args )
- Return a new "SVN::Dump" object.
The argument list is a hash reference.
If the "SVN::Dump" object will read information from a file, the arguments "file" is used (as usal, "-" means "STDIN"); if the dump is read from a filehandle, "fh" is used.
If the "SVN::Dump" isn't used to read information, the parameters "version" and "uuid" can be used to initialise the values of the "SVN-fs-dump-format-version" and "UUID" headers.
- next_record()
- Return the next record read from the dump. This is a "SVN::Dump::Record" object.
- version()
- format()
- Return the dump format version, if the version record has already been read, or if it was given in the constructor.
- uuid()
- Return the dump UUID, if there is an UUID record and it has been read, or if it was given in the constructor.
- as_string()
- Return a string representation of the dump specific blocks (the "format" and "uuid" blocks only).
SEE ALSO
"SVN::Dump::Reader", "SVN::Dump::Record".COPYRIGHT & LICENSE
Copyright 2006 Philippe 'BooK' Bruhat, All Rights Reserved.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre