This is a caller of lookup_commit_reference, which we will convert
later.
Signed-off-by: brian m. carlson <[email protected]>
---
merge-recursive.c | 8 ++++----
submodule.c | 24 ++++++++++++------------
submodule.h | 8 ++++----
3 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/merge-recursive.c b/merge-recursive.c
index 9d6fd577e..1315a45b9 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -994,11 +994,11 @@ static int merge_file_1(struct merge_options *o,
return ret;
result->clean = (merge_status == 0);
} else if (S_ISGITLINK(a->mode)) {
- result->clean = merge_submodule(result->oid.hash,
+ result->clean = merge_submodule(&result->oid,
one->path,
- one->oid.hash,
- a->oid.hash,
- b->oid.hash,
+ &one->oid,
+ &a->oid,
+ &b->oid,
!o->call_depth);
} else if (S_ISLNK(a->mode)) {
oidcpy(&result->oid, &a->oid);
diff --git a/submodule.c b/submodule.c
index 5615d7392..fb782c412 100644
--- a/submodule.c
+++ b/submodule.c
@@ -1567,9 +1567,9 @@ static void print_commit(struct commit *commit)
#define MERGE_WARNING(path, msg) \
warning("Failed to merge submodule %s (%s)", path, msg);
-int merge_submodule(unsigned char result[20], const char *path,
- const unsigned char base[20], const unsigned char a[20],
- const unsigned char b[20], int search)
+int merge_submodule(struct object_id *result, const char *path,
+ const struct object_id *base, const struct object_id *a,
+ const struct object_id *b, int search)
{
struct commit *commit_base, *commit_a, *commit_b;
int parent_count;
@@ -1578,14 +1578,14 @@ int merge_submodule(unsigned char result[20], const
char *path,
int i;
/* store a in result in case we fail */
- hashcpy(result, a);
+ oidcpy(result, a);
/* we can not handle deletion conflicts */
- if (is_null_sha1(base))
+ if (is_null_oid(base))
return 0;
- if (is_null_sha1(a))
+ if (is_null_oid(a))
return 0;
- if (is_null_sha1(b))
+ if (is_null_oid(b))
return 0;
if (add_submodule_odb(path)) {
@@ -1593,9 +1593,9 @@ int merge_submodule(unsigned char result[20], const char
*path,
return 0;
}
- if (!(commit_base = lookup_commit_reference(base)) ||
- !(commit_a = lookup_commit_reference(a)) ||
- !(commit_b = lookup_commit_reference(b))) {
+ if (!(commit_base = lookup_commit_reference(base->hash)) ||
+ !(commit_a = lookup_commit_reference(a->hash)) ||
+ !(commit_b = lookup_commit_reference(b->hash))) {
MERGE_WARNING(path, "commits not present");
return 0;
}
@@ -1609,11 +1609,11 @@ int merge_submodule(unsigned char result[20], const
char *path,
/* Case #1: a is contained in b or vice versa */
if (in_merge_bases(commit_a, commit_b)) {
- hashcpy(result, b);
+ oidcpy(result, b);
return 1;
}
if (in_merge_bases(commit_b, commit_a)) {
- hashcpy(result, a);
+ oidcpy(result, a);
return 1;
}
diff --git a/submodule.h b/submodule.h
index 1277480ad..89c2ed219 100644
--- a/submodule.h
+++ b/submodule.h
@@ -84,10 +84,10 @@ extern int submodule_uses_gitfile(const char *path);
#define SUBMODULE_REMOVAL_IGNORE_UNTRACKED (1<<1)
#define SUBMODULE_REMOVAL_IGNORE_IGNORED_UNTRACKED (1<<2)
extern int bad_to_remove_submodule(const char *path, unsigned flags);
-extern int merge_submodule(unsigned char result[20], const char *path,
- const unsigned char base[20],
- const unsigned char a[20],
- const unsigned char b[20], int search);
+extern int merge_submodule(struct object_id *result, const char *path,
+ const struct object_id *base,
+ const struct object_id *a,
+ const struct object_id *b, int search);
extern int find_unpushed_submodules(struct oid_array *commits,
const char *remotes_name,
struct string_list *needs_pushing);