Git::Log
NAME
Git::Log
AUTHOR
Samantha McVey (samcv) <[email protected]>
SYNOPSIS
Gets the git log as a Perl 6 object
DESCRIPTION
The first argument is the command line args wanted to be passed into git log
.
Optionally you can also get the files changes as well as the number of lines
added or deleted.
Returns an array of hashes in the following format:
<ID => "df0c229ad6ba293c67724379bcd3d55af6ea47a0",
AuthorName =
"Author's Name", AuthorEmail => "[email protected]" ...>>
If the option :get-changes is used (off by default) it will also add a 'changes' key in the
following format: <changes => { $[ { filename =
'myfile.txt', added => 10, deleted => 5 }, ... ] }>>
If there is a field that you need that is not offered, then you can supply an
array, :@fields. Format is an array of pairs: <ID => '%H', AuthorName =
'%an' ...>>
you can look for more here.
These are the default fields:
my @fields-default =
'ID' => '%H',
'AuthorName' => '%an',
'AuthorEmail' => '%ae',
'AuthorDate' => '%aI',
'Subject' => '%s',
'Body' => '%b'
;
EXAMPLES
# Gets the git log for the specified repository, from versions 2018.06 to master
git-log(:path($path.IO), '2018.06..master')
# Gets the git log for the current directory, and does I<not> get the files
# changed in that commit
git-log(:!get-changes)
LICENSE
This is free software; you can redistribute it and/or modify it under the Artistic License 2.0.