cocci: apply the "commit-reach.h" part of "the_repository.pending"

Apply the part of "the_repository.pending.cocci" pertaining to
"commit-reach.h".

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason
2023-03-28 15:58:47 +02:00
committed by Junio C Hamano
parent d850b7a545
commit cb338c23d6
26 changed files with 72 additions and 60 deletions

View File

@ -846,7 +846,8 @@ static enum bisect_error check_merge_bases(int rev_nr, struct commit **rev, int
enum bisect_error res = BISECT_OK; enum bisect_error res = BISECT_OK;
struct commit_list *result; struct commit_list *result;
result = get_merge_bases_many(rev[0], rev_nr - 1, rev + 1); result = repo_get_merge_bases_many(the_repository, rev[0], rev_nr - 1,
rev + 1);
for (; result; result = result->next) { for (; result; result = result->next) {
const struct object_id *mb = &result->item->object.oid; const struct object_id *mb = &result->item->object.oid;

View File

@ -150,7 +150,8 @@ static int branch_merged(int kind, const char *name,
if (!reference_rev) if (!reference_rev)
reference_rev = head_rev; reference_rev = head_rev;
merged = reference_rev ? in_merge_bases(rev, reference_rev) : 0; merged = reference_rev ? repo_in_merge_bases(the_repository, rev,
reference_rev) : 0;
/* /*
* After the safety valve is fully redefined to "check with * After the safety valve is fully redefined to "check with
@ -160,7 +161,7 @@ static int branch_merged(int kind, const char *name,
* a gentle reminder is in order. * a gentle reminder is in order.
*/ */
if ((head_rev != reference_rev) && if ((head_rev != reference_rev) &&
(head_rev ? in_merge_bases(rev, head_rev) : 0) != merged) { (head_rev ? repo_in_merge_bases(the_repository, rev, head_rev) : 0) != merged) {
if (merged) if (merged)
warning(_("deleting branch '%s' that has been merged to\n" warning(_("deleting branch '%s' that has been merged to\n"
" '%s', but not yet merged to HEAD."), " '%s', but not yet merged to HEAD."),

View File

@ -1625,7 +1625,7 @@ static int update_branch(struct branch *b)
if (!old_cmit || !new_cmit) if (!old_cmit || !new_cmit)
return error("Branch %s is missing commits.", b->name); return error("Branch %s is missing commits.", b->name);
if (!in_merge_bases(old_cmit, new_cmit)) { if (!repo_in_merge_bases(the_repository, old_cmit, new_cmit)) {
warning("Not updating %s" warning("Not updating %s"
" (new tip %s does not contain %s)", " (new tip %s does not contain %s)",
b->name, oid_to_hex(&b->oid), b->name, oid_to_hex(&b->oid),

View File

@ -965,7 +965,8 @@ static int update_local_ref(struct ref *ref,
if (fetch_show_forced_updates) { if (fetch_show_forced_updates) {
uint64_t t_before = getnanotime(); uint64_t t_before = getnanotime();
fast_forward = in_merge_bases(current, updated); fast_forward = repo_in_merge_bases(the_repository, current,
updated);
forced_updates_ms += (getnanotime() - t_before) / 1000000; forced_updates_ms += (getnanotime() - t_before) / 1000000;
} else { } else {
fast_forward = 1; fast_forward = 1;

View File

@ -1649,7 +1649,9 @@ static struct commit *get_base_commit(const char *base_commit,
return NULL; return NULL;
} }
commit = lookup_commit_or_die(&oid, "upstream base"); commit = lookup_commit_or_die(&oid, "upstream base");
base_list = get_merge_bases_many(commit, total, list); base_list = repo_get_merge_bases_many(the_repository,
commit, total,
list);
/* There should be one and only one merge base. */ /* There should be one and only one merge base. */
if (!base_list || base_list->next) { if (!base_list || base_list->next) {
if (die_on_failure) { if (die_on_failure) {
@ -1683,7 +1685,9 @@ static struct commit *get_base_commit(const char *base_commit,
while (rev_nr > 1) { while (rev_nr > 1) {
for (i = 0; i < rev_nr / 2; i++) { for (i = 0; i < rev_nr / 2; i++) {
struct commit_list *merge_base; struct commit_list *merge_base;
merge_base = get_merge_bases(rev[2 * i], rev[2 * i + 1]); merge_base = repo_get_merge_bases(the_repository,
rev[2 * i],
rev[2 * i + 1]);
if (!merge_base || merge_base->next) { if (!merge_base || merge_base->next) {
if (die_on_failure) { if (die_on_failure) {
die(_("failed to find exact merge base")); die(_("failed to find exact merge base"));
@ -1701,7 +1705,7 @@ static struct commit *get_base_commit(const char *base_commit,
rev_nr = DIV_ROUND_UP(rev_nr, 2); rev_nr = DIV_ROUND_UP(rev_nr, 2);
} }
if (!in_merge_bases(base, rev[0])) { if (!repo_in_merge_bases(the_repository, base, rev[0])) {
if (die_on_failure) { if (die_on_failure) {
die(_("base commit should be the ancestor of revision list")); die(_("base commit should be the ancestor of revision list"));
} else { } else {

View File

@ -13,7 +13,8 @@ static int show_merge_base(struct commit **rev, int rev_nr, int show_all)
{ {
struct commit_list *result, *r; struct commit_list *result, *r;
result = get_merge_bases_many_dirty(rev[0], rev_nr - 1, rev + 1); result = repo_get_merge_bases_many_dirty(the_repository, rev[0],
rev_nr - 1, rev + 1);
if (!result) if (!result)
return 1; return 1;
@ -105,7 +106,7 @@ static int handle_is_ancestor(int argc, const char **argv)
die("--is-ancestor takes exactly two commits"); die("--is-ancestor takes exactly two commits");
one = get_commit_reference(argv[0]); one = get_commit_reference(argv[0]);
two = get_commit_reference(argv[1]); two = get_commit_reference(argv[1]);
if (in_merge_bases(one, two)) if (repo_in_merge_bases(the_repository, one, two))
return 0; return 0;
else else
return 1; return 1;

View File

@ -452,7 +452,8 @@ static int real_merge(struct merge_tree_options *o,
* Get the merge bases, in reverse order; see comment above * Get the merge bases, in reverse order; see comment above
* merge_incore_recursive in merge-ort.h * merge_incore_recursive in merge-ort.h
*/ */
merge_bases = get_merge_bases(parent1, parent2); merge_bases = repo_get_merge_bases(the_repository, parent1,
parent2);
if (!merge_bases && !o->allow_unrelated_histories) if (!merge_bases && !o->allow_unrelated_histories)
die(_("refusing to merge unrelated histories")); die(_("refusing to merge unrelated histories"));
merge_bases = reverse_commit_list(merge_bases); merge_bases = reverse_commit_list(merge_bases);

View File

@ -1531,7 +1531,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
if (!remoteheads) if (!remoteheads)
; /* already up-to-date */ ; /* already up-to-date */
else if (!remoteheads->next) else if (!remoteheads->next)
common = get_merge_bases(head_commit, remoteheads->item); common = repo_get_merge_bases(the_repository, head_commit,
remoteheads->item);
else { else {
struct commit_list *list = remoteheads; struct commit_list *list = remoteheads;
commit_list_insert(head_commit, &list); commit_list_insert(head_commit, &list);
@ -1649,7 +1650,9 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
* merge_bases again, otherwise "git merge HEAD^ * merge_bases again, otherwise "git merge HEAD^
* HEAD^^" would be missed. * HEAD^^" would be missed.
*/ */
common_one = get_merge_bases(head_commit, j->item); common_one = repo_get_merge_bases(the_repository,
head_commit,
j->item);
if (!oideq(&common_one->item->object.oid, &j->item->object.oid)) { if (!oideq(&common_one->item->object.oid, &j->item->object.oid)) {
up_to_date = 0; up_to_date = 0;
break; break;

View File

@ -882,7 +882,7 @@ static int can_fast_forward(struct commit *onto, struct commit *upstream,
if (!upstream) if (!upstream)
goto done; goto done;
merge_bases = get_merge_bases(upstream, head); merge_bases = repo_get_merge_bases(the_repository, upstream, head);
if (!merge_bases || merge_bases->next) if (!merge_bases || merge_bases->next)
goto done; goto done;
@ -901,7 +901,8 @@ static void fill_branch_base(struct rebase_options *options,
{ {
struct commit_list *merge_bases = NULL; struct commit_list *merge_bases = NULL;
merge_bases = get_merge_bases(options->onto, options->orig_head); merge_bases = repo_get_merge_bases(the_repository, options->onto,
options->orig_head);
if (!merge_bases || merge_bases->next) if (!merge_bases || merge_bases->next)
oidcpy(branch_base, null_oid()); oidcpy(branch_base, null_oid());
else else

View File

@ -1548,7 +1548,7 @@ static const char *update(struct command *cmd, struct shallow_info *si)
} }
old_commit = (struct commit *)old_object; old_commit = (struct commit *)old_object;
new_commit = (struct commit *)new_object; new_commit = (struct commit *)new_object;
if (!in_merge_bases(old_commit, new_commit)) { if (!repo_in_merge_bases(the_repository, old_commit, new_commit)) {
rp_error("denying non-fast-forward %s" rp_error("denying non-fast-forward %s"
" (you should pull first)", name); " (you should pull first)", name);
ret = "non-fast-forward"; ret = "non-fast-forward";

View File

@ -292,7 +292,7 @@ static int try_difference(const char *arg)
*dotdot = '.'; *dotdot = '.';
return 0; return 0;
} }
exclude = get_merge_bases(a, b); exclude = repo_get_merge_bases(the_repository, a, b);
while (exclude) { while (exclude) {
struct commit *commit = pop_commit(&exclude); struct commit *commit = pop_commit(&exclude);
show_rev(REVERSED, &commit->object.oid, NULL); show_rev(REVERSED, &commit->object.oid, NULL);

View File

@ -162,7 +162,8 @@ struct commit_list *get_octopus_merge_bases(struct commit_list *in)
for (j = ret; j; j = j->next) { for (j = ret; j; j = j->next) {
struct commit_list *bases; struct commit_list *bases;
bases = get_merge_bases(i->item, j->item); bases = repo_get_merge_bases(the_repository, i->item,
j->item);
if (!new_commits) if (!new_commits)
new_commits = bases; new_commits = bases;
else else

View File

@ -19,11 +19,6 @@ struct commit_list *repo_get_merge_bases_many(struct repository *r,
struct commit_list *repo_get_merge_bases_many_dirty(struct repository *r, struct commit_list *repo_get_merge_bases_many_dirty(struct repository *r,
struct commit *one, int n, struct commit *one, int n,
struct commit **twos); struct commit **twos);
#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS
#define get_merge_bases(r1, r2) repo_get_merge_bases(the_repository, r1, r2)
#define get_merge_bases_many(one, n, two) repo_get_merge_bases_many(the_repository, one, n, two)
#define get_merge_bases_many_dirty(one, n, twos) repo_get_merge_bases_many_dirty(the_repository, one, n, twos)
#endif
struct commit_list *get_octopus_merge_bases(struct commit_list *in); struct commit_list *get_octopus_merge_bases(struct commit_list *in);
@ -36,10 +31,6 @@ int repo_in_merge_bases(struct repository *r,
int repo_in_merge_bases_many(struct repository *r, int repo_in_merge_bases_many(struct repository *r,
struct commit *commit, struct commit *commit,
int nr_reference, struct commit **reference); int nr_reference, struct commit **reference);
#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS
#define in_merge_bases(c1, c2) repo_in_merge_bases(the_repository, c1, c2)
#define in_merge_bases_many(c1, n, cs) repo_in_merge_bases_many(the_repository, c1, n, cs)
#endif
/* /*
* Takes a list of commits and returns a new list where those * Takes a list of commits and returns a new list where those

View File

@ -1014,7 +1014,8 @@ struct commit *get_fork_point(const char *refname, struct commit *commit)
for (i = 0; i < revs.nr; i++) for (i = 0; i < revs.nr; i++)
revs.commit[i]->object.flags &= ~TMP_MARK; revs.commit[i]->object.flags &= ~TMP_MARK;
bases = get_merge_bases_many(commit, revs.nr, revs.commit); bases = repo_get_merge_bases_many(the_repository, commit, revs.nr,
revs.commit);
/* /*
* There should be one and only one merge base, when we found * There should be one and only one merge base, when we found

View File

@ -38,6 +38,22 @@
| |
- peel_to_type - peel_to_type
+ repo_peel_to_type + repo_peel_to_type
// commit-reach.h
|
- get_merge_bases
+ repo_get_merge_bases
|
- get_merge_bases_many
+ repo_get_merge_bases_many
|
- get_merge_bases_many_dirty
+ repo_get_merge_bases_many_dirty
|
- in_merge_bases
+ repo_in_merge_bases
|
- in_merge_bases_many
+ repo_in_merge_bases_many
) )
( (
+ the_repository, + the_repository,

View File

@ -5,23 +5,7 @@
@@ @@
@@ @@
( (
// commit-reach.h
- get_merge_bases
+ repo_get_merge_bases
|
- get_merge_bases_many
+ repo_get_merge_bases_many
|
- get_merge_bases_many_dirty
+ repo_get_merge_bases_many_dirty
|
- in_merge_bases
+ repo_in_merge_bases
|
- in_merge_bases_many
+ repo_in_merge_bases_many
// commit.h // commit.h
|
- parse_commit_internal - parse_commit_internal
+ repo_parse_commit_internal + repo_parse_commit_internal
| |

View File

@ -1570,7 +1570,7 @@ static int verify_merge_base(struct object_id *head_oid, struct ref *remote)
struct commit *branch = lookup_commit_or_die(&remote->old_oid, struct commit *branch = lookup_commit_or_die(&remote->old_oid,
remote->name); remote->name);
return in_merge_bases(branch, head); return repo_in_merge_bases(the_repository, branch, head);
} }
static int delete_remote_branch(const char *pattern, int force) static int delete_remote_branch(const char *pattern, int force)

View File

@ -993,7 +993,7 @@ static int do_remerge_diff(struct rev_info *opt,
/* Parse the relevant commits and get the merge bases */ /* Parse the relevant commits and get the merge bases */
parse_commit_or_die(parent1); parse_commit_or_die(parent1);
parse_commit_or_die(parent2); parse_commit_or_die(parent2);
bases = get_merge_bases(parent1, parent2); bases = repo_get_merge_bases(the_repository, parent1, parent2);
/* Re-merge the parents */ /* Re-merge the parents */
merge_incore_recursive(&o, bases, parent1, parent2, &res); merge_incore_recursive(&o, bases, parent1, parent2, &res);

View File

@ -5017,7 +5017,7 @@ static void merge_ort_internal(struct merge_options *opt,
struct strbuf merge_base_abbrev = STRBUF_INIT; struct strbuf merge_base_abbrev = STRBUF_INIT;
if (!merge_bases) { if (!merge_bases) {
merge_bases = get_merge_bases(h1, h2); merge_bases = repo_get_merge_bases(the_repository, h1, h2);
/* See merge-ort.h:merge_incore_recursive() declaration NOTE */ /* See merge-ort.h:merge_incore_recursive() declaration NOTE */
merge_bases = reverse_commit_list(merge_bases); merge_bases = reverse_commit_list(merge_bases);
} }

View File

@ -3592,7 +3592,7 @@ static int merge_recursive_internal(struct merge_options *opt,
} }
if (!merge_bases) { if (!merge_bases) {
merge_bases = get_merge_bases(h1, h2); merge_bases = repo_get_merge_bases(the_repository, h1, h2);
merge_bases = reverse_commit_list(merge_bases); merge_bases = reverse_commit_list(merge_bases);
} }

View File

@ -600,7 +600,7 @@ int notes_merge(struct notes_merge_options *o,
assert(local && remote); assert(local && remote);
/* Find merge bases */ /* Find merge bases */
bases = get_merge_bases(local, remote); bases = repo_get_merge_bases(the_repository, local, remote);
if (!bases) { if (!bases) {
base_oid = null_oid(); base_oid = null_oid();
base_tree_oid = the_hash_algo->empty_tree; base_tree_oid = the_hash_algo->empty_tree;

View File

@ -2662,7 +2662,7 @@ static int is_reachable_in_reflog(const char *local, const struct ref *remote)
if (MERGE_BASES_BATCH_SIZE < size) if (MERGE_BASES_BATCH_SIZE < size)
size = MERGE_BASES_BATCH_SIZE; size = MERGE_BASES_BATCH_SIZE;
if ((ret = in_merge_bases_many(commit, size, chunk))) if ((ret = repo_in_merge_bases_many(the_repository, commit, size, chunk)))
break; break;
} }

View File

@ -1957,7 +1957,7 @@ static void prepare_show_merge(struct rev_info *revs)
other = lookup_commit_or_die(&oid, "MERGE_HEAD"); other = lookup_commit_or_die(&oid, "MERGE_HEAD");
add_pending_object(revs, &head->object, "HEAD"); add_pending_object(revs, &head->object, "HEAD");
add_pending_object(revs, &other->object, "MERGE_HEAD"); add_pending_object(revs, &other->object, "MERGE_HEAD");
bases = get_merge_bases(head, other); bases = repo_get_merge_bases(the_repository, head, other);
add_rev_cmdline_list(revs, bases, REV_CMD_MERGE_BASE, UNINTERESTING | BOTTOM); add_rev_cmdline_list(revs, bases, REV_CMD_MERGE_BASE, UNINTERESTING | BOTTOM);
add_pending_commit_list(revs, bases, UNINTERESTING | BOTTOM); add_pending_commit_list(revs, bases, UNINTERESTING | BOTTOM);
free_commit_list(bases); free_commit_list(bases);
@ -2052,7 +2052,7 @@ static int handle_dotdot_1(const char *arg, char *dotdot,
if (!a || !b) if (!a || !b)
return dotdot_missing(arg, dotdot, revs, symmetric); return dotdot_missing(arg, dotdot, revs, symmetric);
exclude = get_merge_bases(a, b); exclude = repo_get_merge_bases(the_repository, a, b);
add_rev_cmdline_list(revs, exclude, REV_CMD_MERGE_BASE, add_rev_cmdline_list(revs, exclude, REV_CMD_MERGE_BASE,
flags_exclude); flags_exclude);
add_pending_commit_list(revs, exclude, flags_exclude); add_pending_commit_list(revs, exclude, flags_exclude);

View File

@ -4102,7 +4102,8 @@ static int do_merge(struct repository *r,
} }
merge_commit = to_merge->item; merge_commit = to_merge->item;
bases = get_merge_bases(head_commit, merge_commit); bases = repo_get_merge_bases(the_repository, head_commit,
merge_commit);
if (bases && oideq(&merge_commit->object.oid, if (bases && oideq(&merge_commit->object.oid,
&bases->item->object.oid)) { &bases->item->object.oid)) {
ret = 0; ret = 0;

View File

@ -791,7 +791,7 @@ static void post_assign_shallow(struct shallow_info *info,
for (j = 0; j < bitmap_nr; j++) for (j = 0; j < bitmap_nr; j++)
if (bitmap[0][j] && if (bitmap[0][j] &&
/* Step 7, reachability test at commit level */ /* Step 7, reachability test at commit level */
!in_merge_bases_many(c, ca.nr, ca.commits)) { !repo_in_merge_bases_many(the_repository, c, ca.nr, ca.commits)) {
update_refstatus(ref_status, info->ref->nr, *bitmap); update_refstatus(ref_status, info->ref->nr, *bitmap);
dst++; dst++;
break; break;
@ -819,7 +819,8 @@ int delayed_reachability_test(struct shallow_info *si, int c)
si->nr_commits = ca.nr; si->nr_commits = ca.nr;
} }
si->reachable[c] = in_merge_bases_many(commit, si->reachable[c] = repo_in_merge_bases_many(the_repository,
commit,
si->nr_commits, si->nr_commits,
si->commits); si->commits);
si->need_reachability_test[c] = 0; si->need_reachability_test[c] = 0;

View File

@ -106,13 +106,17 @@ int cmd__reach(int ac, const char **av)
if (!strcmp(av[1], "ref_newer")) if (!strcmp(av[1], "ref_newer"))
printf("%s(A,B):%d\n", av[1], ref_newer(&oid_A, &oid_B)); printf("%s(A,B):%d\n", av[1], ref_newer(&oid_A, &oid_B));
else if (!strcmp(av[1], "in_merge_bases")) else if (!strcmp(av[1], "in_merge_bases"))
printf("%s(A,B):%d\n", av[1], in_merge_bases(A, B)); printf("%s(A,B):%d\n", av[1],
repo_in_merge_bases(the_repository, A, B));
else if (!strcmp(av[1], "in_merge_bases_many")) else if (!strcmp(av[1], "in_merge_bases_many"))
printf("%s(A,X):%d\n", av[1], in_merge_bases_many(A, X_nr, X_array)); printf("%s(A,X):%d\n", av[1],
repo_in_merge_bases_many(the_repository, A, X_nr, X_array));
else if (!strcmp(av[1], "is_descendant_of")) else if (!strcmp(av[1], "is_descendant_of"))
printf("%s(A,X):%d\n", av[1], repo_is_descendant_of(r, A, X)); printf("%s(A,X):%d\n", av[1], repo_is_descendant_of(r, A, X));
else if (!strcmp(av[1], "get_merge_bases_many")) { else if (!strcmp(av[1], "get_merge_bases_many")) {
struct commit_list *list = get_merge_bases_many(A, X_nr, X_array); struct commit_list *list = repo_get_merge_bases_many(the_repository,
A, X_nr,
X_array);
printf("%s(A,X):\n", av[1]); printf("%s(A,X):\n", av[1]);
print_sorted_commit_ids(list); print_sorted_commit_ids(list);
} else if (!strcmp(av[1], "reduce_heads")) { } else if (!strcmp(av[1], "reduce_heads")) {