Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SVN::Dump(3)	      User Contributed Perl Documentation	  SVN::Dump(3)

NAME
       SVN::Dump - A Perl interface to Subversion dumps

SYNOPSIS
	   #!/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_header('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
       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):

       o   A dump is a collection of records (SVN::Dump::Record	objects).

       o   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).

       o   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.

	   Extra options will be passed	to the SVN::Dump::Reader object	that
	   is created.

	   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.

       The reference document for Subversion dumpfiles is at:
       <http://svn.apache.org/repos/asf/subversion/trunk/notes/dump-load-format.txt>

COPYRIGHT
       Copyright 2006-2013 Philippe Bruhat (BooK), All Rights Reserved.

LICENSE
       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.24.1			  2017-07-02			  SVN::Dump(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO | COPYRIGHT | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SVN::Dump&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help