summaryrefslogtreecommitdiff
path: root/include/git2
diff options
context:
space:
mode:
authorVicent Martí <tanoku@gmail.com>2011-11-25 21:30:08 -0800
committerVicent Martí <tanoku@gmail.com>2011-11-25 21:30:08 -0800
commite42ea1f488ae50655f31b8f09413a543b0fab9b7 (patch)
tree7697099dd809bb1e2e9fb28b4c1127853b5801ba /include/git2
parent2869f404fd1fb345bfe86471dbcfba85abaa9f10 (diff)
parenta5cd086dffbc07ad839f3a9c320dda6970594126 (diff)
downloadlibgit2-e42ea1f488ae50655f31b8f09413a543b0fab9b7.tar.gz
Merge pull request #491 from schu/refs-cleanup
reference_rename() cleanup
Diffstat (limited to 'include/git2')
-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