diff options
author | Derrick Stolee <dstolee@microsoft.com> | 2020-06-17 17:24:28 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-06-17 13:49:36 -0700 |
commit | d91d6fbf26663ab64c453411c2de6cf4ea754246 (patch) | |
tree | 63b7873c5d804f73647273fe5e85640941b59b6c | |
parent | Merge branch 'hn/refs-cleanup' (diff) | |
download | tgif-d91d6fbf26663ab64c453411c2de6cf4ea754246.tar.xz |
commit-reach: create repo_is_descendant_of()
The next change will make repo_in_merge_bases() depend on the logic in
is_descendant_of(), but we need to make the method independent of
the_repository first.
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | commit-reach.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/commit-reach.c b/commit-reach.c index 4ca7e706a1..13722430aa 100644 --- a/commit-reach.c +++ b/commit-reach.c @@ -283,7 +283,9 @@ struct commit_list *repo_get_merge_bases(struct repository *r, /* * Is "commit" a descendant of one of the elements on the "with_commit" list? */ -int is_descendant_of(struct commit *commit, struct commit_list *with_commit) +static int repo_is_descendant_of(struct repository *r, + struct commit *commit, + struct commit_list *with_commit) { if (!with_commit) return 1; @@ -301,13 +303,18 @@ int is_descendant_of(struct commit *commit, struct commit_list *with_commit) other = with_commit->item; with_commit = with_commit->next; - if (in_merge_bases(other, commit)) + if (repo_in_merge_bases(r, other, commit)) return 1; } return 0; } } +int is_descendant_of(struct commit *commit, struct commit_list *with_commit) +{ + return repo_is_descendant_of(the_repository, commit, with_commit); +} + /* * Is "commit" an ancestor of one of the "references"? */ |