diff options
| author | Edward Thomson <ethomson@github.com> | 2021-07-27 18:59:15 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-27 18:59:15 -0400 |
| commit | f08cae109d9475a29209d444cf312388e7e64d83 (patch) | |
| tree | 8198be68b85ccf4d2e79a6a48d530e13c4fd46e1 /include/git2 | |
| parent | 08c79128be38b6704cfdf01bca037f3fbaabf847 (diff) | |
| parent | 8d453f16385c04abfba0211f1e7fb1621f26d609 (diff) | |
| download | libgit2-f08cae109d9475a29209d444cf312388e7e64d83.tar.gz | |
Merge pull request #5767 from lhchavez/cgraph-reachable-from-any
Diffstat (limited to 'include/git2')
| -rw-r--r-- | include/git2/graph.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/include/git2/graph.h b/include/git2/graph.h index 213ae9777..712ae474a 100644 --- a/include/git2/graph.h +++ b/include/git2/graph.h @@ -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 |
