new
my $iter = Git::Repository::Log::Iterator->new( @args );
Create a new gitlog 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). It will also forcibly remove colored output (using
"--color=never").
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.
The object is really a blessed hash reference, with only two keys:
cmd The Git::Repository::Command object running the actual gitlog command. It might not be defined in
some cases (see below "new_from_fh" and "new_from_file").
fh The filehandle from which the output of gitlog is actually read. This is the only attribute needed
to run the "next" method.
new_from_fh
This constructor makes it possible to provide the filehandle directly.
The "cmd" key is not defined when using this constructor.
new_from_file
This constructor makes it possible to provide a filename that will be "open()"ed to produce a filehandle
to read the log stream from.
The "cmd" key is not defined when using this constructor.
next
my $log = $iter->next;
Return the next log item as a Git::Repository::Log object, or nothing if the stream has ended.