Merge branch 'bc/object-id'
"uchar [40]" to "struct object_id" conversion continues. * bc/object-id: wt-status: convert to struct object_id builtin/merge-base: convert to struct object_id Convert object iteration callbacks to struct object_id sha1_file: introduce an nth_packed_object_oid function refs: simplify parsing of reflog entries refs: convert each_reflog_ent_fn to struct object_id reflog-walk: convert struct reflog_info to struct object_id builtin/replace: convert to struct object_id Convert remaining callers of resolve_refdup to object_id builtin/merge: convert to struct object_id builtin/clone: convert to struct object_id builtin/branch: convert to struct object_id builtin/grep: convert to struct object_id builtin/fmt-merge-message: convert to struct object_id builtin/fast-export: convert to struct object_id builtin/describe: convert to struct object_id builtin/diff-tree: convert to struct object_id builtin/commit: convert to struct object_id hex: introduce parse_oid_hex
This commit is contained in:
@ -693,7 +693,7 @@ static int merge_abort(struct notes_merge_options *o)
|
||||
static int merge_commit(struct notes_merge_options *o)
|
||||
{
|
||||
struct strbuf msg = STRBUF_INIT;
|
||||
unsigned char sha1[20], parent_sha1[20];
|
||||
struct object_id oid, parent_oid;
|
||||
struct notes_tree *t;
|
||||
struct commit *partial;
|
||||
struct pretty_print_context pretty_ctx;
|
||||
@ -705,27 +705,27 @@ static int merge_commit(struct notes_merge_options *o)
|
||||
* and target notes ref from .git/NOTES_MERGE_REF.
|
||||
*/
|
||||
|
||||
if (get_sha1("NOTES_MERGE_PARTIAL", sha1))
|
||||
if (get_oid("NOTES_MERGE_PARTIAL", &oid))
|
||||
die(_("failed to read ref NOTES_MERGE_PARTIAL"));
|
||||
else if (!(partial = lookup_commit_reference(sha1)))
|
||||
else if (!(partial = lookup_commit_reference(oid.hash)))
|
||||
die(_("could not find commit from NOTES_MERGE_PARTIAL."));
|
||||
else if (parse_commit(partial))
|
||||
die(_("could not parse commit from NOTES_MERGE_PARTIAL."));
|
||||
|
||||
if (partial->parents)
|
||||
hashcpy(parent_sha1, partial->parents->item->object.oid.hash);
|
||||
oidcpy(&parent_oid, &partial->parents->item->object.oid);
|
||||
else
|
||||
hashclr(parent_sha1);
|
||||
oidclr(&parent_oid);
|
||||
|
||||
t = xcalloc(1, sizeof(struct notes_tree));
|
||||
init_notes(t, "NOTES_MERGE_PARTIAL", combine_notes_overwrite, 0);
|
||||
|
||||
o->local_ref = local_ref_to_free =
|
||||
resolve_refdup("NOTES_MERGE_REF", 0, sha1, NULL);
|
||||
resolve_refdup("NOTES_MERGE_REF", 0, oid.hash, NULL);
|
||||
if (!o->local_ref)
|
||||
die(_("failed to resolve NOTES_MERGE_REF"));
|
||||
|
||||
if (notes_merge_commit(o, t, partial, sha1))
|
||||
if (notes_merge_commit(o, t, partial, oid.hash))
|
||||
die(_("failed to finalize notes merge"));
|
||||
|
||||
/* Reuse existing commit message in reflog message */
|
||||
@ -733,8 +733,8 @@ static int merge_commit(struct notes_merge_options *o)
|
||||
format_commit_message(partial, "%s", &msg, &pretty_ctx);
|
||||
strbuf_trim(&msg);
|
||||
strbuf_insert(&msg, 0, "notes: ", 7);
|
||||
update_ref(msg.buf, o->local_ref, sha1,
|
||||
is_null_sha1(parent_sha1) ? NULL : parent_sha1,
|
||||
update_ref(msg.buf, o->local_ref, oid.hash,
|
||||
is_null_oid(&parent_oid) ? NULL : parent_oid.hash,
|
||||
0, UPDATE_REFS_DIE_ON_ERR);
|
||||
|
||||
free_notes(t);
|
||||
|
||||
Reference in New Issue
Block a user