summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/git2/reflog.h17
-rw-r--r--include/git2/refs.h5
2 files changed, 22 insertions, 0 deletions
diff --git a/include/git2/reflog.h b/include/git2/reflog.h
index 9ad42b73b..f1d08795e 100644
--- a/include/git2/reflog.h
+++ b/include/git2/reflog.h
@@ -51,6 +51,23 @@ GIT_EXTERN(int) git_reflog_read(git_reflog **reflog, git_reference *ref);
GIT_EXTERN(int) git_reflog_write(git_reference *ref, const git_oid *oid_old, const git_signature *committer, const char *msg);
/**
+ * Rename the reflog for the given reference
+ *
+ * @param ref the reference
+ * @param new_name the new name of the reference
+ * @return GIT_SUCCESS or an error code
+ */
+GIT_EXTERN(int) git_reflog_rename(git_reference *ref, const char *new_name);
+
+/**
+ * Delete the reflog for the given reference
+ *
+ * @param ref the reference
+ * @return GIT_SUCCESS or an error code
+ */
+GIT_EXTERN(int) git_reflog_delete(git_reference *ref);
+
+/**
* Get the number of log entries in a reflog
*
* @param reflog the previously loaded reflog
diff --git a/include/git2/refs.h b/include/git2/refs.h
index 82c5d8881..32671aa66 100644
--- a/include/git2/refs.h
+++ b/include/git2/refs.h
@@ -183,6 +183,11 @@ GIT_EXTERN(int) git_reference_set_oid(git_reference *ref, const git_oid *id);
* 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.
+ *
* @param ref The reference to rename
* @param new_name The new name for the reference
* @param force Overwrite an existing reference