summaryrefslogtreecommitdiff
path: root/include/git2/merge.h
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2014-07-18 16:00:21 +0200
committerCarlos Martín Nieto <cmn@dwim.me>2014-07-27 17:17:22 +0200
commit7db0e6ee48fd68009a7e78cbcbca125d6ce9008d (patch)
treec8d053d8dd5eccf98811ab80a2cc6c6be44a57e7 /include/git2/merge.h
parent091165c53b2bcd5d41fb71d43ed5a23a3d96bf5d (diff)
downloadlibgit2-cmn/oidarray.tar.gz
merge: expose multiple merge basescmn/oidarray
We always calculate multiple merge bases, but up to now we had only exposed the "best" merge base. Introduce git_oidarray which analogously to git_strarray lets us return multiple ids.
Diffstat (limited to 'include/git2/merge.h')
-rw-r--r--include/git2/merge.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/git2/merge.h b/include/git2/merge.h
index 9eb14ccb1..bd5ebc1bd 100644
--- a/include/git2/merge.h
+++ b/include/git2/merge.h
@@ -10,6 +10,7 @@
#include "common.h"
#include "types.h"
#include "oid.h"
+#include "oidarray.h"
#include "checkout.h"
#include "index.h"
@@ -321,6 +322,21 @@ GIT_EXTERN(int) git_merge_base(
const git_oid *two);
/**
+ * Find merge bases between two commits
+ *
+ * @param out array in which to store the resulting ids
+ * @param repo the repository where the commits exist
+ * @param one one of the commits
+ * @param two the other commit
+ * @return 0 on success, GIT_ENOTFOUND if not found or error code
+ */
+GIT_EXTERN(int) git_merge_bases(
+ git_oidarray *out,
+ git_repository *repo,
+ const git_oid *one,
+ const git_oid *two);
+
+/**
* Find a merge base given a list of commits
*
* @param out the OID of a merge base considering all the commits