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>

Ævar Arnfjörð Bjarmason committed Mar 28, 2023 at 15:58 UTC cb338c23d6d518947bf6f7240bf30e2ec232bd3b
26 files changed +72 -60
bisect.c
+2 -1
@@ -846,7 +846,8 @@ static enum bisect_error check_merge_bases(int rev_nr, struct commit **rev, int
846 enum bisect_error res = BISECT_OK;
847 struct commit_list *result;
848
849 - result = get_merge_bases_many(rev[0], rev_nr - 1, rev + 1);
849 + result = repo_get_merge_bases_many(the_repository, rev[0], rev_nr - 1,
850 + rev + 1);
851
852 for (; result; result = result->next) {
853 const struct object_id *mb = &result->item->object.oid;
builtin/branch.c
+3 -2
@@ -150,7 +150,8 @@ static int branch_merged(int kind, const char *name,
150 if (!reference_rev)
151 reference_rev = head_rev;
152
153 - merged = reference_rev ? in_merge_bases(rev, reference_rev) : 0;
153 + merged = reference_rev ? repo_in_merge_bases(the_repository, rev,
154 + reference_rev) : 0;
155
156 /*
157 * After the safety valve is fully redefined to "check with
@@ -160,7 +161,7 @@ static int branch_merged(int kind, const char *name,
161 * a gentle reminder is in order.
162 */
163 if ((head_rev != reference_rev) &&
163 - (head_rev ? in_merge_bases(rev, head_rev) : 0) != merged) {
164 + (head_rev ? repo_in_merge_bases(the_repository, rev, head_rev) : 0) != merged) {
165 if (merged)
166 warning(_("deleting branch '%s' that has been merged to\n"
167 " '%s', but not yet merged to HEAD."),
builtin/fast-import.c
+1 -1
@@ -1625,7 +1625,7 @@ static int update_branch(struct branch *b)
1625 if (!old_cmit || !new_cmit)
1626 return error("Branch %s is missing commits.", b->name);
1627
1628 - if (!in_merge_bases(old_cmit, new_cmit)) {
1628 + if (!repo_in_merge_bases(the_repository, old_cmit, new_cmit)) {
1629 warning("Not updating %s"
1630 " (new tip %s does not contain %s)",
1631 b->name, oid_to_hex(&b->oid),
builtin/fetch.c
+2 -1
@@ -965,7 +965,8 @@ static int update_local_ref(struct ref *ref,
965
966 if (fetch_show_forced_updates) {
967 uint64_t t_before = getnanotime();
968 - fast_forward = in_merge_bases(current, updated);
968 + fast_forward = repo_in_merge_bases(the_repository, current,
969 + updated);
970 forced_updates_ms += (getnanotime() - t_before) / 1000000;
971 } else {
972 fast_forward = 1;
builtin/log.c
+7 -3
@@ -1649,7 +1649,9 @@ static struct commit *get_base_commit(const char *base_commit,
1649 return NULL;
1650 }
1651 commit = lookup_commit_or_die(&oid, "upstream base");
1652 - base_list = get_merge_bases_many(commit, total, list);
1652 + base_list = repo_get_merge_bases_many(the_repository,
1653 + commit, total,
1654 + list);
1655 /* There should be one and only one merge base. */
1656 if (!base_list || base_list->next) {
1657 if (die_on_failure) {
@@ -1683,7 +1685,9 @@ static struct commit *get_base_commit(const char *base_commit,
1685 while (rev_nr > 1) {
1686 for (i = 0; i < rev_nr / 2; i++) {
1687 struct commit_list *merge_base;
1686 - merge_base = get_merge_bases(rev[2 * i], rev[2 * i + 1]);
1688 + merge_base = repo_get_merge_bases(the_repository,
1689 + rev[2 * i],
1690 + rev[2 * i + 1]);
1691 if (!merge_base || merge_base->next) {
1692 if (die_on_failure) {
1693 die(_("failed to find exact merge base"));
@@ -1701,7 +1705,7 @@ static struct commit *get_base_commit(const char *base_commit,
1705 rev_nr = DIV_ROUND_UP(rev_nr, 2);
1706 }
1707
1704 - if (!in_merge_bases(base, rev[0])) {
1708 + if (!repo_in_merge_bases(the_repository, base, rev[0])) {
1709 if (die_on_failure) {
1710 die(_("base commit should be the ancestor of revision list"));
1711 } else {
builtin/merge-base.c
+3 -2
@@ -13,7 +13,8 @@ static int show_merge_base(struct commit **rev, int rev_nr, int show_all)
13 {
14 struct commit_list *result, *r;
15
16 - result = get_merge_bases_many_dirty(rev[0], rev_nr - 1, rev + 1);
16 + result = repo_get_merge_bases_many_dirty(the_repository, rev[0],
17 + rev_nr - 1, rev + 1);
18
19 if (!result)
20 return 1;
@@ -105,7 +106,7 @@ static int handle_is_ancestor(int argc, const char **argv)
106 die("--is-ancestor takes exactly two commits");
107 one = get_commit_reference(argv[0]);
108 two = get_commit_reference(argv[1]);
108 - if (in_merge_bases(one, two))
109 + if (repo_in_merge_bases(the_repository, one, two))
110 return 0;
111 else
112 return 1;
builtin/merge-tree.c
+2 -1
@@ -452,7 +452,8 @@ static int real_merge(struct merge_tree_options *o,
452 * Get the merge bases, in reverse order; see comment above
453 * merge_incore_recursive in merge-ort.h
454 */
455 - merge_bases = get_merge_bases(parent1, parent2);
455 + merge_bases = repo_get_merge_bases(the_repository, parent1,
456 + parent2);
457 if (!merge_bases && !o->allow_unrelated_histories)
458 die(_("refusing to merge unrelated histories"));
459 merge_bases = reverse_commit_list(merge_bases);
builtin/merge.c
+5 -2
@@ -1531,7 +1531,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
1531 if (!remoteheads)
1532 ; /* already up-to-date */
1533 else if (!remoteheads->next)
1534 - common = get_merge_bases(head_commit, remoteheads->item);
1534 + common = repo_get_merge_bases(the_repository, head_commit,
1535 + remoteheads->item);
1536 else {
1537 struct commit_list *list = remoteheads;
1538 commit_list_insert(head_commit, &list);
@@ -1649,7 +1650,9 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
1650 * merge_bases again, otherwise "git merge HEAD^
1651 * HEAD^^" would be missed.
1652 */
1652 - common_one = get_merge_bases(head_commit, j->item);
1653 + common_one = repo_get_merge_bases(the_repository,
1654 + head_commit,
1655 + j->item);
1656 if (!oideq(&common_one->item->object.oid, &j->item->object.oid)) {
1657 up_to_date = 0;
1658 break;
builtin/rebase.c
+3 -2
@@ -882,7 +882,7 @@ static int can_fast_forward(struct commit *onto, struct commit *upstream,
882 if (!upstream)
883 goto done;
884
885 - merge_bases = get_merge_bases(upstream, head);
885 + merge_bases = repo_get_merge_bases(the_repository, upstream, head);
886 if (!merge_bases || merge_bases->next)
887 goto done;
888
@@ -901,7 +901,8 @@ static void fill_branch_base(struct rebase_options *options,
901 {
902 struct commit_list *merge_bases = NULL;
903
904 - merge_bases = get_merge_bases(options->onto, options->orig_head);
904 + merge_bases = repo_get_merge_bases(the_repository, options->onto,
905 + options->orig_head);
906 if (!merge_bases || merge_bases->next)
907 oidcpy(branch_base, null_oid());
908 else
builtin/receive-pack.c
+1 -1
@@ -1548,7 +1548,7 @@ static const char *update(struct command *cmd, struct shallow_info *si)
1548 }
1549 old_commit = (struct commit *)old_object;
1550 new_commit = (struct commit *)new_object;
1551 - if (!in_merge_bases(old_commit, new_commit)) {
1551 + if (!repo_in_merge_bases(the_repository, old_commit, new_commit)) {
1552 rp_error("denying non-fast-forward %s"
1553 " (you should pull first)", name);
1554 ret = "non-fast-forward";
builtin/rev-parse.c
+1 -1
@@ -292,7 +292,7 @@ static int try_difference(const char *arg)
292 *dotdot = '.';
293 return 0;
294 }
295 - exclude = get_merge_bases(a, b);
295 + exclude = repo_get_merge_bases(the_repository, a, b);
296 while (exclude) {
297 struct commit *commit = pop_commit(&exclude);
298 show_rev(REVERSED, &commit->object.oid, NULL);
commit-reach.c
+2 -1
@@ -162,7 +162,8 @@ struct commit_list *get_octopus_merge_bases(struct commit_list *in)
162
163 for (j = ret; j; j = j->next) {
164 struct commit_list *bases;
165 - bases = get_merge_bases(i->item, j->item);
165 + bases = repo_get_merge_bases(the_repository, i->item,
166 + j->item);
167 if (!new_commits)
168 new_commits = bases;
169 else
commit-reach.h
-9
@@ -19,11 +19,6 @@ struct commit_list *repo_get_merge_bases_many(struct repository *r,
19 struct commit_list *repo_get_merge_bases_many_dirty(struct repository *r,
20 struct commit *one, int n,
21 struct commit **twos);
22 -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS
23 -#define get_merge_bases(r1, r2) repo_get_merge_bases(the_repository, r1, r2)
24 -#define get_merge_bases_many(one, n, two) repo_get_merge_bases_many(the_repository, one, n, two)
25 -#define get_merge_bases_many_dirty(one, n, twos) repo_get_merge_bases_many_dirty(the_repository, one, n, twos)
26 -#endif
22
23 struct commit_list *get_octopus_merge_bases(struct commit_list *in);
24
@@ -36,10 +31,6 @@ int repo_in_merge_bases(struct repository *r,
31 int repo_in_merge_bases_many(struct repository *r,
32 struct commit *commit,
33 int nr_reference, struct commit **reference);
39 -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS
40 -#define in_merge_bases(c1, c2) repo_in_merge_bases(the_repository, c1, c2)
41 -#define in_merge_bases_many(c1, n, cs) repo_in_merge_bases_many(the_repository, c1, n, cs)
42 -#endif
34
35 /*
36 * Takes a list of commits and returns a new list where those
commit.c
+2 -1
@@ -1014,7 +1014,8 @@ struct commit *get_fork_point(const char *refname, struct commit *commit)
1014 for (i = 0; i < revs.nr; i++)
1015 revs.commit[i]->object.flags &= ~TMP_MARK;
1016
1017 - bases = get_merge_bases_many(commit, revs.nr, revs.commit);
1017 + bases = repo_get_merge_bases_many(the_repository, commit, revs.nr,
1018 + revs.commit);
1019
1020 /*
1021 * There should be one and only one merge base, when we found
contrib/coccinelle/the_repository.cocci
+16
@@ -38,6 +38,22 @@
38 |
39 - peel_to_type
40 + repo_peel_to_type
41 +// commit-reach.h
42 +|
43 +- get_merge_bases
44 ++ repo_get_merge_bases
45 +|
46 +- get_merge_bases_many
47 ++ repo_get_merge_bases_many
48 +|
49 +- get_merge_bases_many_dirty
50 ++ repo_get_merge_bases_many_dirty
51 +|
52 +- in_merge_bases
53 ++ repo_in_merge_bases
54 +|
55 +- in_merge_bases_many
56 ++ repo_in_merge_bases_many
57 )
58 (
59 + the_repository,
contrib/coccinelle/the_repository.pending.cocci
-16
@@ -5,23 +5,7 @@
5 @@
6 @@
7 (
8 -// commit-reach.h
9 -- get_merge_bases
10 -+ repo_get_merge_bases
11 -|
12 -- get_merge_bases_many
13 -+ repo_get_merge_bases_many
14 -|
15 -- get_merge_bases_many_dirty
16 -+ repo_get_merge_bases_many_dirty
17 -|
18 -- in_merge_bases
19 -+ repo_in_merge_bases
20 -|
21 -- in_merge_bases_many
22 -+ repo_in_merge_bases_many
8 // commit.h
24 -|
9 - parse_commit_internal
10 + repo_parse_commit_internal
11 |
http-push.c
+1 -1
@@ -1570,7 +1570,7 @@ static int verify_merge_base(struct object_id *head_oid, struct ref *remote)
1570 struct commit *branch = lookup_commit_or_die(&remote->old_oid,
1571 remote->name);
1572
1573 - return in_merge_bases(branch, head);
1573 + return repo_in_merge_bases(the_repository, branch, head);
1574 }
1575
1576 static int delete_remote_branch(const char *pattern, int force)
log-tree.c
+1 -1
@@ -993,7 +993,7 @@ static int do_remerge_diff(struct rev_info *opt,
993 /* Parse the relevant commits and get the merge bases */
994 parse_commit_or_die(parent1);
995 parse_commit_or_die(parent2);
996 - bases = get_merge_bases(parent1, parent2);
996 + bases = repo_get_merge_bases(the_repository, parent1, parent2);
997
998 /* Re-merge the parents */
999 merge_incore_recursive(&o, bases, parent1, parent2, &res);
merge-ort.c
+1 -1
@@ -5017,7 +5017,7 @@ static void merge_ort_internal(struct merge_options *opt,
5017 struct strbuf merge_base_abbrev = STRBUF_INIT;
5018
5019 if (!merge_bases) {
5020 - merge_bases = get_merge_bases(h1, h2);
5020 + merge_bases = repo_get_merge_bases(the_repository, h1, h2);
5021 /* See merge-ort.h:merge_incore_recursive() declaration NOTE */
5022 merge_bases = reverse_commit_list(merge_bases);
5023 }
merge-recursive.c
+1 -1
@@ -3592,7 +3592,7 @@ static int merge_recursive_internal(struct merge_options *opt,
3592 }
3593
3594 if (!merge_bases) {
3595 - merge_bases = get_merge_bases(h1, h2);
3595 + merge_bases = repo_get_merge_bases(the_repository, h1, h2);
3596 merge_bases = reverse_commit_list(merge_bases);
3597 }
3598
notes-merge.c
+1 -1
@@ -600,7 +600,7 @@ int notes_merge(struct notes_merge_options *o,
600 assert(local && remote);
601
602 /* Find merge bases */
603 - bases = get_merge_bases(local, remote);
603 + bases = repo_get_merge_bases(the_repository, local, remote);
604 if (!bases) {
605 base_oid = null_oid();
606 base_tree_oid = the_hash_algo->empty_tree;
remote.c
+1 -1
@@ -2662,7 +2662,7 @@ static int is_reachable_in_reflog(const char *local, const struct ref *remote)
2662 if (MERGE_BASES_BATCH_SIZE < size)
2663 size = MERGE_BASES_BATCH_SIZE;
2664
2665 - if ((ret = in_merge_bases_many(commit, size, chunk)))
2665 + if ((ret = repo_in_merge_bases_many(the_repository, commit, size, chunk)))
2666 break;
2667 }
2668
revision.c
+2 -2
@@ -1957,7 +1957,7 @@ static void prepare_show_merge(struct rev_info *revs)
1957 other = lookup_commit_or_die(&oid, "MERGE_HEAD");
1958 add_pending_object(revs, &head->object, "HEAD");
1959 add_pending_object(revs, &other->object, "MERGE_HEAD");
1960 - bases = get_merge_bases(head, other);
1960 + bases = repo_get_merge_bases(the_repository, head, other);
1961 add_rev_cmdline_list(revs, bases, REV_CMD_MERGE_BASE, UNINTERESTING | BOTTOM);
1962 add_pending_commit_list(revs, bases, UNINTERESTING | BOTTOM);
1963 free_commit_list(bases);
@@ -2052,7 +2052,7 @@ static int handle_dotdot_1(const char *arg, char *dotdot,
2052 if (!a || !b)
2053 return dotdot_missing(arg, dotdot, revs, symmetric);
2054
2055 - exclude = get_merge_bases(a, b);
2055 + exclude = repo_get_merge_bases(the_repository, a, b);
2056 add_rev_cmdline_list(revs, exclude, REV_CMD_MERGE_BASE,
2057 flags_exclude);
2058 add_pending_commit_list(revs, exclude, flags_exclude);
sequencer.c
+2 -1
@@ -4102,7 +4102,8 @@ static int do_merge(struct repository *r,
4102 }
4103
4104 merge_commit = to_merge->item;
4105 - bases = get_merge_bases(head_commit, merge_commit);
4105 + bases = repo_get_merge_bases(the_repository, head_commit,
4106 + merge_commit);
4107 if (bases && oideq(&merge_commit->object.oid,
4108 &bases->item->object.oid)) {
4109 ret = 0;
shallow.c
+5 -4
@@ -791,7 +791,7 @@ static void post_assign_shallow(struct shallow_info *info,
791 for (j = 0; j < bitmap_nr; j++)
792 if (bitmap[0][j] &&
793 /* Step 7, reachability test at commit level */
794 - !in_merge_bases_many(c, ca.nr, ca.commits)) {
794 + !repo_in_merge_bases_many(the_repository, c, ca.nr, ca.commits)) {
795 update_refstatus(ref_status, info->ref->nr, *bitmap);
796 dst++;
797 break;
@@ -819,9 +819,10 @@ int delayed_reachability_test(struct shallow_info *si, int c)
819 si->nr_commits = ca.nr;
820 }
821
822 - si->reachable[c] = in_merge_bases_many(commit,
823 - si->nr_commits,
824 - si->commits);
822 + si->reachable[c] = repo_in_merge_bases_many(the_repository,
823 + commit,
824 + si->nr_commits,
825 + si->commits);
826 si->need_reachability_test[c] = 0;
827 }
828 return si->reachable[c];
t/helper/test-reach.c
+7 -3
@@ -106,13 +106,17 @@ int cmd__reach(int ac, const char **av)
106 if (!strcmp(av[1], "ref_newer"))
107 printf("%s(A,B):%d\n", av[1], ref_newer(&oid_A, &oid_B));
108 else if (!strcmp(av[1], "in_merge_bases"))
109 - printf("%s(A,B):%d\n", av[1], in_merge_bases(A, B));
109 + printf("%s(A,B):%d\n", av[1],
110 + repo_in_merge_bases(the_repository, A, B));
111 else if (!strcmp(av[1], "in_merge_bases_many"))
111 - printf("%s(A,X):%d\n", av[1], in_merge_bases_many(A, X_nr, X_array));
112 + printf("%s(A,X):%d\n", av[1],
113 + repo_in_merge_bases_many(the_repository, A, X_nr, X_array));
114 else if (!strcmp(av[1], "is_descendant_of"))
115 printf("%s(A,X):%d\n", av[1], repo_is_descendant_of(r, A, X));
116 else if (!strcmp(av[1], "get_merge_bases_many")) {
115 - struct commit_list *list = get_merge_bases_many(A, X_nr, X_array);
117 + struct commit_list *list = repo_get_merge_bases_many(the_repository,
118 + A, X_nr,
119 + X_array);
120 printf("%s(A,X):\n", av[1]);
121 print_sorted_commit_ids(list);
122 } else if (!strcmp(av[1], "reduce_heads")) {