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 const gchar*
 

The new name.

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

TRUE to force the renaming.

log_message const gchar*
 

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

 The data is owned by the caller of the function.
 The value is a NUL terminated UTF-8 string.
error GError **
  The return location for a GError*, or NULL.

Return value

Returns: GgitRef
 

A newly created GgitRef or NULL.

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