|new()||Create a new empty SVN::Dump::Record object.|
Return the record type, as guessed from its headers.
The method dies if the record type cannot be determined.
|set_header( $h, $v )||Set the header $h to the value $v.|
|get_header( $h )||Get the value of header $h.|
|set_property( $p, $v )||Set the property $p to the value $v.|
|get_property( $p )||Get the value of property $p.|
|delete_property( @k )||Delete the properties named in @p. Properties that do not exist in the record will be silently ignored.|
|set_text( $t )||Set the value of the text block.|
|get_text()||Get the value of the text block.|
A SVN::Dump::Record is composed of several inner blocks of various kinds: SVN::Dump::Headers, SVN::Dump::Property and SVN::Dump::Text.
The following methods provide access to these blocks:
set_headers_block( $headers ) get_headers_block() Get or set the SVN::Dump::Headers object that represents the record headers. set_property_block( $property ) get_property_block() Get or set the SVN::Dump::Property object that represents the record property block. delete_property( @keys ) Delete the given properties. Behaves like the builtin delete(). set_text_block( $text ) get_text_block() Get or set the SVN::Dump::Text object that represents the record text block. set_included_record( $record ) get_included_record() Some special record are actually output recursiveley by <B>svnadmin dumpB>. The record in the record is stored within the parent record, so they are parsed as a single record with an included record.
get_record() / set_record() give access to the included record.
According to the Subversion sources (subversion/libsvn_repos/dump.c), this is a delete original, then add-with-history node. The dump looks like this:
Node-path: tags/mytag/myfile Node-kind: file Node-action: delete Node-path: tags/mytag/myfile Node-kind: file Node-action: add Node-copyfrom-rev: 23 Node-copyfrom-path: trunk/myfile
Note that there is a single blank line after the first header block, and four after the included one.
update_headers() Update the various ...-length headers. Used internally.
has_prop() Return a boolean value indicating if the record has a property block. has_text() Return a boolean value indicating if the record has a text block. has_prop_only() Return a boolean value indicating if the record has only a property block (and no text block). has_prop_or_text() Return a boolean value indicating if the record has a property block or a text block. property_length() Return the length of the property block. text_length() Return the length of the text block.
as_string() Return a string representation of the record that will be understood by other Subversion tools, such as svnadmin.
<B>Warning:B> dumping a record currently returns the information that was read from the original dump. This means that if you modified the property or text block of a record, the headers will be inconsistent.
When using SVN::Dump to manipulate a SVN dump, one should not access the SVN::Dump::Headers, SVN::Dump::Property and SVN::Dump::Text components of a SVN::Dump::Record object directly, but use the appropriate set_...() and get_...() methods of the record object.
These methods compute the appropriate modifications of the header values, so that the as_string() method outputs the correct information after any modification of the record.
SVN::Dump, SVN::Dump::Reader, SVN::Dump::Headers, SVN::Dump::Property, SVN::Dump::Text.
Copyright 2006-2013 Philippe Bruhat (BooK), All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
|perl v5.20.3||SVN::DUMP::RECORD (3)||2016-03-17|