/** * ggit_reflog_append: * @reflog: a #GgitReflog. * @oid: a #GgitOId. * @committer: a #GgitSignature. * @message: the message. * @error: a #GError for error reporting, or %NULL. * * Creates a reflog entry. * * Returns: %TRUE if the reflog was successfully created, or %FALSE if error is set. */ gboolean ggit_reflog_append (GgitReflog *reflog, GgitOId *oid, GgitSignature *committer, const gchar *message, GError **error) { gint ret; g_return_val_if_fail (reflog != NULL, FALSE); g_return_val_if_fail (oid != NULL, FALSE); g_return_val_if_fail (GGIT_IS_SIGNATURE (committer), FALSE); g_return_val_if_fail (message != NULL && *message != '\0', FALSE); g_return_val_if_fail (error == NULL || *error == NULL, FALSE); ret = git_reflog_append (reflog->reflog, _ggit_oid_get_oid (oid), _ggit_native_get (committer), message); if (ret != GIT_OK) { _ggit_error_set (error, ret); return FALSE; } return TRUE; }
/** * ggit_ref_set_target: * @ref: a #GgitRef. * @oid: a #GgitOId. * @log_message: The one line long message to be appended to the reflog. * @error: a #GError for error reporting, or %NULL. * * Create a new reference with the same name as the given reference but a * different OID target. The reference must be a direct reference, otherwise * this will fail. * * The new reference will be written to disk, overwriting the given reference. * * Returns: (transfer full): the newly created #GgitRef. */ GgitRef * ggit_ref_set_target (GgitRef *ref, GgitOId *oid, const gchar *log_message, GError **error) { git_reference *out; gint ret; g_return_val_if_fail (ref != NULL, NULL); g_return_val_if_fail (oid != NULL, NULL); g_return_val_if_fail (error == NULL || *error == NULL, NULL); ret = git_reference_set_target (&out, _ggit_native_get (ref), _ggit_oid_get_oid (oid), log_message); if (ret != GIT_OK) { _ggit_error_set (error, ret); return NULL; } return _ggit_ref_wrap (out, FALSE); }
/** * ggit_index_entry_set_id: * @entry: a #GgitIndexEntry. * @id: (allow-none): the oid. * * Set the oid of the index entry. * **/ void ggit_index_entry_set_id (GgitIndexEntry *entry, GgitOId *id) { g_return_if_fail (entry != NULL); g_return_if_fail (entry->owned); if (id != NULL) { entry->entry->id = *_ggit_oid_get_oid (id); } else { memset (&entry->entry->id, 0, sizeof (git_oid)); } }