libgit2

git_commit_create_v

Version:

Create new commit in the repository using a variable argument list.

The message will not be cleaned up automatically. You can do that with the git_message_prettify() function.

The parents for the commit are specified as a variable list of pointers to const git_commit *. Note that this is a convenience method which may not be safe to export for certain languages or compilers

All other parameters remain the same as git_commit_create().

Signature

int git_commit_create_v(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, size_t parent_count);

Parameters

In
id

Pointer in which 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. If it does exist, the first parent must be the tip of this branch.

In
author

Signature with author and author time of commit

In
committer

Signature with committer and * commit time of 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.

size_t
In
parent_count

Number of parents for this commit

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