Scroll to navigation

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

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.
2011-12-28 perl v5.14.2