NAME

Git::Repository::Log - Class representing git log data

VERSION

version 1.303

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 reprensent 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( @args )

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.

extra

Any extra text that might be added by extra options passed to git log.

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
gpgsig
mergetag

Extra information

extra

AUTHOR

Philippe Bruhat (BooK) <book@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Philippe Bruhat (BooK).

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.