libgit2

git_commit_create

Version:

Create a new commit in the repository using git_object instances as parameters.

The message will not be cleaned up. This can be achieved through git_message_prettify().

Signature

int git_commit_create(git_oid *id, git_repository *repo, const char *update_ref, const git_signature *author, const git_signature *committer, const char *message_encoding, const char *message, const git_tree *tree, int parent_count, const git_commit **parents);

Parameters

In
id

Pointer where to store the OID of the newly created commit

In
repo

Repository where to store the commit

const char *
In
update_ref

If not NULL, name of the reference that will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use "HEAD" to update the HEAD of the current branch and make it point to this commit. If the reference doesn't exist yet, it will be created.

In
author

Signature representing the author and the authory time of this commit

In
committer

Signature representing the committer and the commit time of this commit

const char *
In
message_encoding

The encoding for the message in the commit, represented with a standard encoding name. E.g. "UTF-8". If NULL, no encoding header is written and UTF-8 is assumed.

const char *
In
message

Full message for this commit

In
tree

An instance of a git_tree object that will be used as the tree for the commit. This tree object must also be owned by the given repo.

int
In
parent_count

Number of parents for this commit

In
parents

Returns

int

0 or an error code The created commit will be written to the Object Database and the given reference will be updated to point to it

Versions