Merge branch 'bc/hash-transition-interop-part-1'
SHA-256 transition. * bc/hash-transition-interop-part-1: hex: print objects using the hash algorithm member hex: default to the_hash_algo on zero algorithm value builtin/pack-objects: avoid using struct object_id for pack hash commit-graph: don't store file hashes as struct object_id builtin/show-index: set the algorithm for object IDs hash: provide per-algorithm null OIDs hash: set, copy, and use algo field in struct object_id builtin/pack-redundant: avoid casting buffers to struct object_id Use the final_oid_fn to finalize hashing of object IDs hash: add a function to finalize object IDs http-push: set algorithm when reading object ID Always use oidread to read into struct object_id hash: add an algo member to struct object_id
This commit is contained in:
20
merge-ort.c
20
merge-ort.c
@ -1406,7 +1406,7 @@ static int handle_content_merge(struct merge_options *opt,
|
||||
two_way = ((S_IFMT & o->mode) != (S_IFMT & a->mode));
|
||||
|
||||
merge_status = merge_3way(opt, path,
|
||||
two_way ? &null_oid : &o->oid,
|
||||
two_way ? null_oid() : &o->oid,
|
||||
&a->oid, &b->oid,
|
||||
pathnames, extra_marker_size,
|
||||
&result_buf);
|
||||
@ -1428,7 +1428,7 @@ static int handle_content_merge(struct merge_options *opt,
|
||||
} else if (S_ISGITLINK(a->mode)) {
|
||||
int two_way = ((S_IFMT & o->mode) != (S_IFMT & a->mode));
|
||||
clean = merge_submodule(opt, pathnames[0],
|
||||
two_way ? &null_oid : &o->oid,
|
||||
two_way ? null_oid() : &o->oid,
|
||||
&a->oid, &b->oid, &result->oid);
|
||||
if (opt->priv->call_depth && two_way && !clean) {
|
||||
result->mode = o->mode;
|
||||
@ -2230,7 +2230,7 @@ static int process_renames(struct merge_options *opt,
|
||||
if (type_changed) {
|
||||
/* rename vs. typechange */
|
||||
/* Mark the original as resolved by removal */
|
||||
memcpy(&oldinfo->stages[0].oid, &null_oid,
|
||||
memcpy(&oldinfo->stages[0].oid, null_oid(),
|
||||
sizeof(oldinfo->stages[0].oid));
|
||||
oldinfo->stages[0].mode = 0;
|
||||
oldinfo->filemask &= 0x06;
|
||||
@ -2917,7 +2917,7 @@ static void process_entry(struct merge_options *opt,
|
||||
if (ci->filemask & (1 << i))
|
||||
continue;
|
||||
ci->stages[i].mode = 0;
|
||||
oidcpy(&ci->stages[i].oid, &null_oid);
|
||||
oidcpy(&ci->stages[i].oid, null_oid());
|
||||
}
|
||||
} else if (ci->df_conflict && ci->merged.result.mode != 0) {
|
||||
/*
|
||||
@ -2963,7 +2963,7 @@ static void process_entry(struct merge_options *opt,
|
||||
continue;
|
||||
/* zero out any entries related to directories */
|
||||
new_ci->stages[i].mode = 0;
|
||||
oidcpy(&new_ci->stages[i].oid, &null_oid);
|
||||
oidcpy(&new_ci->stages[i].oid, null_oid());
|
||||
}
|
||||
|
||||
/*
|
||||
@ -3064,11 +3064,11 @@ static void process_entry(struct merge_options *opt,
|
||||
new_ci->merged.result.mode = ci->stages[2].mode;
|
||||
oidcpy(&new_ci->merged.result.oid, &ci->stages[2].oid);
|
||||
new_ci->stages[1].mode = 0;
|
||||
oidcpy(&new_ci->stages[1].oid, &null_oid);
|
||||
oidcpy(&new_ci->stages[1].oid, null_oid());
|
||||
new_ci->filemask = 5;
|
||||
if ((S_IFMT & b_mode) != (S_IFMT & o_mode)) {
|
||||
new_ci->stages[0].mode = 0;
|
||||
oidcpy(&new_ci->stages[0].oid, &null_oid);
|
||||
oidcpy(&new_ci->stages[0].oid, null_oid());
|
||||
new_ci->filemask = 4;
|
||||
}
|
||||
|
||||
@ -3076,11 +3076,11 @@ static void process_entry(struct merge_options *opt,
|
||||
ci->merged.result.mode = ci->stages[1].mode;
|
||||
oidcpy(&ci->merged.result.oid, &ci->stages[1].oid);
|
||||
ci->stages[2].mode = 0;
|
||||
oidcpy(&ci->stages[2].oid, &null_oid);
|
||||
oidcpy(&ci->stages[2].oid, null_oid());
|
||||
ci->filemask = 3;
|
||||
if ((S_IFMT & a_mode) != (S_IFMT & o_mode)) {
|
||||
ci->stages[0].mode = 0;
|
||||
oidcpy(&ci->stages[0].oid, &null_oid);
|
||||
oidcpy(&ci->stages[0].oid, null_oid());
|
||||
ci->filemask = 2;
|
||||
}
|
||||
|
||||
@ -3202,7 +3202,7 @@ static void process_entry(struct merge_options *opt,
|
||||
/* Deleted on both sides */
|
||||
ci->merged.is_null = 1;
|
||||
ci->merged.result.mode = 0;
|
||||
oidcpy(&ci->merged.result.oid, &null_oid);
|
||||
oidcpy(&ci->merged.result.oid, null_oid());
|
||||
ci->merged.clean = !ci->path_conflict;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user