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.
-
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
- committer
-
The original author/committer line
- committer_name
- committer_email
Date information
- committer_gmtime
- committer_localtime
- 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.