submodule: convert merge_submodule to use struct object_id

This is a caller of lookup_commit_reference, which we will convert
later.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
brian m. carlson
2017-05-06 22:09:57 +00:00
committed by Junio C Hamano
parent 912c13d58f
commit 71f35d5cbc
3 changed files with 20 additions and 20 deletions

View File

@ -1566,9 +1566,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;
@ -1577,14 +1577,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)) {
@ -1592,9 +1592,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;
}
@ -1608,11 +1608,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;
}