SVN::Dump::Record(3) User Contributed Perl Documentation SVN::Dump::Record(3)
NAME
SVN::Dump::Record - A SVN dump record
SYNOPSIS
# SVN::Dump::Record objects are returns by the next_record()
# method of SVN::Dump
DESCRIPTION
An "SVN::Dump::Record" object represents a Subversion dump record.
METHODS
"SVN::Dump" provides the following gourps of methods:
Record methods
new()
Create a new empty "SVN::Dump::Record" object.
type()
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
set_text( $t )
Set the value of the text block.
get_text()
Get the value of the text block.
Inner blocks manipulation
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. Behave 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 svnadmin
dump. 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.
You must call this method if you update the inner property or text
blocks directly, or the results of "as_string()" will be
inconsistent.
Information methods
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.
Output method
as_string()
Return a string representation of the record.
Warning: dumping a record currenly gives back the information that
was read from the original dump. Which means that if you modified
the property or text block of a record, the headers will be
inconstent.
ENCAPSULATION
When using "SVN::Dump" to manipulate a SVN dump, one should not
directly access the "SVN::Dump::Headers", "SVN::Dump::Property" and
"SVN::Dump::Text" components of a "SVN::Dump::Record" object, 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.
SEE ALSO
SVN::Dump::Headers(3), SVN::Dump::Property(3), SVN::Dump::Text(3).
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.
perl v5.10.0 2008-06-12 SVN::Dump::Record(3)
Mac OS X 10.6 - Generated Thu Sep 17 20:15:24 CDT 2009
