NAME¶
Git::Repository::Log::Iterator - Split a git log stream into records
SYNOPSIS¶
use Git::Repository::Log::Iterator;
# use a default Git::Repository context
my $iter = Git::Repository::Log::Iterator->new('HEAD~10..');
# or provide an existing instance
my $iter = Git::Repository::Log::Iterator->new( $r, 'HEAD~10..' );
# get the next log record
while ( my $log = $iter->next ) {
...;
}
DESCRIPTION¶
"Git::Repository::Log::Iterator" initiates a
git log command
from a list of paramaters and parses its output to produce
"Git::Repository::Log" objects represening each log item.
METHODS¶
new( @args )¶
Create a new
git log stream from the parameter list in @args and return a
iterator on it.
"new()" will happily accept any parameters, but note that
"Git::Repository::Log::Iterator" expects the output to look like
that of "--pretty=raw", and so will force the the
"--pretty" option (in case "format.pretty" is defined in
the Git configuration).
Extra output (like patches) will be stored in the "extra" parameter of
the "Git::Repository::Log" object. Decorations will be lost.
When unsupported options are recognized in the parameter list, "new()"
will "croak()" with a message advising to use "run( 'log' =>
... )" to parse the output yourself.
next()¶
Return the next log item as a "Git::Repository::Log" object, or
nothing if the stream has ended.
AUTHOR¶
Philippe Bruhat (BooK), "<book at cpan.org>"
COPYRIGHT¶
Copyright 2010 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.