Method

GgitRefrename

Declaration [src]

GgitRef*
ggit_ref_rename (
  GgitRef* ref,
  const gchar* new_name,
  gboolean force,
  const gchar* log_message,
  GError** error
)

Description [src]

Rename an existing reference.

This method works for both direct and symbolic references.

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

If not error, ref will be deleted from disk and a new GgitRef 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.

Parameters

new_name

Type: const gchar*

The new name.

The data is owned by the caller of the method.
The value is a NUL terminated UTF-8 string.
force

Type: gboolean

TRUE to force the renaming.

log_message

Type: const gchar*

The one line long message to be appended to the reflog.

The data is owned by the caller of the method.
The value is a NUL terminated UTF-8 string.
error

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will be left initialized to NULL by the method if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: GgitRef

A newly created GgitRef or NULL.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.
The return value can be NULL.