Scroll to navigation

Git::Repository::Log(3pm) User Contributed Perl Documentation Git::Repository::Log(3pm)


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


    # 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;


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


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


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"):

The commit id (ignoring the extra information added by --decorate).
The tree id.
The parent list, separated by spaces.
The author information.
The committer information.
The log message (including the 4-space indent normally output by git log).
The commit signature.
The mergetag information.
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.

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.


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

Commit information

Author and committer information

The original author/committer line

Date information

Log information

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

Extra information


Copyright 2010-2016 Philippe Bruhat (BooK), all rights reserved.


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

2022-06-14 perl v5.34.0