NAME

Git::Database::Object::Commit - A commit object in the Git object database

VERSION

version 0.012

SYNOPSIS

my $r      = Git::Database->new();       # current Git repository
my $commit = $r->get_object('ef25e8');   # abbreviated digest

# attributes
$commit->kind;              # commit
$commit->digest;            # ef25e81ba86b7df16956c974c8a9c1ff2eca1326
$commit->tree_digest;       # b52168be5ea341e918a9cbbb76012375170a439f
$commit->parents_digest;    # []
...;                        # etc., see below

DESCRIPTION

Git::Database::Object::Commit represents a commit object obtained via Git::Database from a Git object database.

ATTRIBUTES

All major attributes ("digest", "content", "size", "commit_info") have a predicate method.

kind

The object kind: commit.

digest

The SHA-1 digest of the commit object.

content

The object's actual content.

size

The size (in bytes) of the object content.

commit_info

A hash reference containing the all the attributes listed below, as values for the keys with the same names.

tree_digest

The SHA-1 digest of the tree object corresponding to the commit.

parents_digest

An array reference containing the list of SHA-1 digests of the commit's parents.

author

A Git::Database::Actor object representing the author of the commit.

author_date

A DateTime object representing the date at which the author created the commit.

committer

A Git::Database::Actor object representing the committer of the commit.

committer_date

A DateTime object representing the date at which the committer created the commit.

comment

The text of the commit message.

encoding

The encoding of the commit message.

METHODS

new()

Create a new Git::Object::Database::Commit object.

One (and only one) of the content or commit_info arguments is required.

commit_info is a reference to a hash containing the keys listed above, i.e. tree_digest, parents_digest (optional), author, author_date, committer, committer_date, comment, and encoding (optional).

SEE ALSO

Git::Database, Git::Database::Role::Object.

AUTHOR

Philippe Bruhat (BooK) <book@cpan.org>.

COPYRIGHT

Copyright 2013-2016 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.