The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Git::Repository::Log - 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
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.