NAME
Arch::Log - class representing Arch patch-log
SYNOPSIS
use Arch::Log;
my $log = Arch::Log->new($rfc2822_message_string);
printf "Patch log date: %s\n", $log->header('standard_date');
print $log->dump;
my $first_new_file = $log->get_headers->{new_files}->[0];
DESCRIPTION
This class represents the patch-log concept in Arch and provides some useful methods.
METHODS
The following class methods are available:
get_message, get_headers, header, get_changes, split_version, get_version, get_revision, get_revision_kind, get_revision_desc, dump.
- get_message
-
Return the original message with that the object was constructed.
- get_headers
-
Return the hashref of all headers including body, see also
header
method. - header name
- header name [new_value]
-
Get or set the named header. The special name 'body' represents the message body (the text following the headers).
- body [new_value]
- existing_header_name [new_value]
-
This is just a shortcut for
header
('method'). However unlikeheader
('method'), method fails instead of returning undef if the log does not have the given header name. - get_changes
-
Return a list of changes in the corresponding changeset.
ATTENTION! Patch logs do not distinguish metadata (ie permission) changes from ordinary content changes. Permission changes will be represented with a change type of 'M'. This is different from Arch::Changeset::get_changes and Arch::Tree::get_changes.
- split_version
-
Return a list of 2 strings: full version and patch-level.
- get_version
-
Return the full version name, not unlike split_version.
- get_revision
-
Return the full revision name. This is currently a concatination of headers Archive and Revision with '/' separator.
- get_revision_kind
-
Return one of the strings 'tag', 'import' or 'cset' depending on the revision kind this log represents.
- get_revision_desc
-
Return revision description hashref with the keys: name, version, summary, creator, email, date, kind.
- dump
-
Returns the object dump using Data::Dumper.
BUGS
Awaiting for your reports.
AUTHORS
Mikhael Goikhman (migo@homemail.com--Perl-GPL/arch-perl--devel).
SEE ALSO
For more information, see tla, Arch::Session, Arch::Library, Arch::Changes.