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 unlike header('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.