expose merge metadata cleanup
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
diff --git a/include/git2/repository.h b/include/git2/repository.h
index 96b47f4..02e6891 100644
--- a/include/git2/repository.h
+++ b/include/git2/repository.h
@@ -490,6 +490,15 @@ GIT_EXTERN(int) git_repository_message(char *out, size_t len, git_repository *re
*/
GIT_EXTERN(int) git_repository_message_remove(git_repository *repo);
+/**
+ * Remove all the metadata associated with an ongoing git merge, including
+ * MERGE_HEAD, MERGE_MSG, etc.
+ *
+ * @param repo A repository object
+ * @return 0 on success, or error
+ */
+GIT_EXTERN(int) git_repository_merge_cleanup(git_repository *repo);
+
typedef int (*git_repository_fetchhead_foreach_cb)(const char *ref_name,
const char *remote_url,
const git_oid *oid,
diff --git a/src/merge.c b/src/merge.c
index 1386d09..dfdadca 100644
--- a/src/merge.c
+++ b/src/merge.c
@@ -15,7 +15,7 @@
#include "git2/reset.h"
#include "commit_list.h"
-int git_merge__cleanup(git_repository *repo)
+int git_repository_merge_cleanup(git_repository *repo)
{
int error = 0;
git_buf merge_head_path = GIT_BUF_INIT,
diff --git a/src/merge.h b/src/merge.h
index 3681e24..af24de4 100644
--- a/src/merge.h
+++ b/src/merge.h
@@ -16,7 +16,6 @@
#define MERGE_CONFIG_FILE_MODE 0666
-int git_merge__cleanup(git_repository *repo);
int git_merge__bases_many(git_commit_list **out, git_revwalk *walk, git_commit_list_node *one, git_vector *twos);
#endif
diff --git a/src/reset.c b/src/reset.c
index 17b4b90..784094a 100644
--- a/src/reset.c
+++ b/src/reset.c
@@ -126,7 +126,7 @@ int git_reset(
goto cleanup;
}
- if ((error = git_merge__cleanup(repo)) < 0) {
+ if ((error = git_repository_merge_cleanup(repo)) < 0) {
giterr_set(GITERR_INDEX, "%s - Failed to clean up merge data.", ERROR_MSG);
goto cleanup;
}