Git::Raw::Commit - Git commit class
version 0.62
use Git::Raw; # open the Git repository at $path my $repo = Git::Raw::Repository -> open($path); # add a file to the repository default index my $index = $repo -> index; $index -> add('test'); $index -> write; # create a new tree out of the repository index my $tree_id = $index -> write_tree; my $tree = $repo -> lookup($tree_id); # retrieve user's name and email from the Git configuration my $config = $repo -> config; my $name = $config -> str('user.name'); my $email = $config -> str('user.email'); # create a new Git signature my $me = Git::Raw::Signature -> now($name, $email); # create a new commit out of the above tree, with the repository HEAD as # parent my $commit = $repo -> commit( 'some commit', $me, $me, [ $repo -> head -> target ], $tree );
A Git::Raw::Commit represents a Git commit.
Git::Raw::Commit
WARNING: The API of this module is unstable and may change without warning (any change will be appropriately documented in the changelog).
Create a new commit given a message, two Git::Raw::Signature (one is the commit author and the other the committer), a list of parent commits and a Git::Raw::Tree. If $update_ref is provided and is defined, the reference with the corresponding name is automatically updated or created. If $update_ref is undef, no reference is updated. If $update_ref is not provided, "HEAD" is updated.
$update_ref
undef
Create a new commit using $baseline as a template for the message, author and committer. This method is useful for rewriting a commit, by replacing its parents and trees. See Git::Raw::Commit->create()
$baseline
Git::Raw::Commit->create()
Retrieve the commit corresponding to $id. This function is pretty much the same as $repo->lookup($id) except that it only returns commits. If the commit doesn't exist, this function wil return undef.
$id
$repo->lookup($id)
Retrieve the Git::Raw::Repository owning the commit.
Retrieve the id of the commit, as string.
Retrieve the message of the commit.
Retrieve the summary of the commit message.
Retrieve the body of the commit message.
Retrieve the Git::Raw::Signature representing the author of the commit.
Retrieve the Git::Raw::Signature representing the committer.
Retrieve the committer time of the commit.
Retrieve the committer time offset (in minutes) of the commit.
Retrieve the Git::Raw::Tree the commit points to.
Retrieve the list of parents of the commit.
Merge $commit into this commit. See Git::Raw::Repository->merge() for valid %merge_opts values. Returns a Git::Raw::Index object containing the merge result.
$commit
Git::Raw::Repository->merge()
%merge_opts
Retrieve the Git::Raw::Commit object that is the $gen'th generation ancestor of this commit, following only the first parents.
$gen
Retrieve the diff associated with the commit. If the commit has no parents, $parent_no should not specified. Similarly, for merge commits, $parent_no should be specified. See Git::Raw::Repository->diff() for valid %diff_opts values. In this context, specifying a Git::Raw::Tree in %diff_opts will have no effect as it will be determined from the commit's parent.
$parent_no
Git::Raw::Repository->diff()
%diff_opts
Retrieve the patch e-mail associated with the commit. See Git::Raw::Repository->diff() for valid %diff_opts values. In this context, specifying a Git::Raw::Tree in %diff_opts will have no effect as it will be determined from the commit's parent. Valid fields for the %format_opts hash are:
%format_opts
"patch_no"
The patch number for this commit.
"total_patches"
Total number of patches.
"flags"
E-mail generation flags. Valid fields for this hash include:
"exclude_subject_patch_marker"
Don't insert "[PATCH]" in the subject header.
"[PATCH]"
Alessandro Ghedini <alexbio@cpan.org>
Jacques Germishuys <jacquesg@striata.com>
Copyright 2012 Alessandro Ghedini.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
To install Git::Raw, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Git::Raw
CPAN shell
perl -MCPAN -e shell install Git::Raw
For more information on module installation, please visit the detailed CPAN module installation guide.