Git::Repository::Log(3) Class representing git log data

SYNOPSIS


# load the Log plugin
use Git::Repository 'Log';
# get the log for last commit
my ($log) = Git::Repository->log( '-1' );
# get the author's email
print my $email = $log->author_email;

DESCRIPTION

"Git::Repository::Log" is a class whose instances represent log items from a git log stream.

CONSTRUCTOR

This method shouldn't be used directly. Git::Repository::Log::Iterator should be the preferred way to create "Git::Repository::Log" objects.

new

Create a new "Git::Repository::Log" instance, using the list of key/values passed as parameters. The supported keys are (from the output of "git log --pretty=raw"):
commit
The commit id (ignoring the extra information added by --decorate).
tree
The tree id.
parent
The parent list, separated by spaces.
author
The author information.
committer
The committer information.
message
The log message (including the 4-space indent normally output by git log).
gpgsig
The commit signature.
mergetag
The mergetag information.
diff_from
The commit from which the diff was taken.

This is the extra "from" information on the commit header that is added by git when the log contains a diff (using the "-p" or "--name-status" option). In this case, "git log" may show the same commit several times.

extra
Any extra text that might be added by extra options passed to git log (e.g. "-p" or "--name-status").

Note that since "git tag --pretty=raw" does not provide the "encoding" header (and provides the message properly decoded), this information will not be available via Git::Repository::Plugin::Log.

ACCESSORS

The following accessors methods are recognized. They all return scalars, except for "parent()", which returns a list.

Commit information

commit
tree
parent

Author and committer information

author
committer
The original author/committer line
author_name
committer_name
author_email
committer_email

Date information

author_gmtime
committer_gmtime
author_localtime
committer_localtime
author_tz
committer_tz

Log information

raw_message
The log message with the 4-space indent output by git log.
message
The unindented version of the log message.
subject
body

Signature-related information

gpgsig
mergetag

Extra information

extra

COPYRIGHT

Copyright 2010-2016 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.