libgit2

git_reference_rename

Version:

Rename an existing reference.

This method works for both direct and symbolic references.

The new name will be checked for validity. See git_reference_create_symbolic() for rules about valid names.

On success, the given git_reference will be deleted from disk and a new git_reference will be returned.

The reference will be immediately renamed in-memory and on disk.

If the force flag is not enabled, and there's already a reference with the given name, the renaming will fail.

IMPORTANT: The user needs to write a proper reflog entry if the reflog is enabled for the repository. We only rename the reflog if it exists.

Signature

int git_reference_rename(git_reference **out, git_reference *ref, const char *new_name, int force);

Parameters

In
ref

The reference to rename

const char *
In
new_name
int
In
force

Overwrite an existing reference

Returns

int

0 on success, EINVALIDSPEC, EEXISTS or an error code

Versions