]> git.proxmox.com Git - libgit2.git/blobdiff - include/git2/graph.h
New upstream version 1.3.0+dfsg.1
[libgit2.git] / include / git2 / graph.h
index 213ae977757e537d59ae8a622ea9c5c90b80f343..712ae474a060b63a5b06ad80b627b60e6d6c22ce 100644 (file)
@@ -43,8 +43,9 @@ GIT_EXTERN(int) git_graph_ahead_behind(size_t *ahead, size_t *behind, git_reposi
  * Note that a commit is not considered a descendant of itself, in contrast
  * to `git merge-base --is-ancestor`.
  *
- * @param commit a previously loaded commit.
- * @param ancestor a potential ancestor commit.
+ * @param repo the repository where the commits exist
+ * @param commit a previously loaded commit
+ * @param ancestor a potential ancestor commit
  * @return 1 if the given commit is a descendant of the potential ancestor,
  * 0 if not, error code otherwise.
  */
@@ -53,6 +54,23 @@ GIT_EXTERN(int) git_graph_descendant_of(
        const git_oid *commit,
        const git_oid *ancestor);
 
+/**
+ * Determine if a commit is reachable from any of a list of commits by
+ * following parent edges.
+ *
+ * @param repo the repository where the commits exist
+ * @param commit a previously loaded commit
+ * @param length the number of commits in the provided `descendant_array`
+ * @param descendant_array oids of the commits
+ * @return 1 if the given commit is an ancestor of any of the given potential
+ * descendants, 0 if not, error code otherwise.
+ */
+GIT_EXTERN(int) git_graph_reachable_from_any(
+       git_repository *repo,
+       const git_oid *commit,
+       const git_oid descendant_array[],
+       size_t length);
+
 /** @} */
 GIT_END_DECL
 #endif