mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
Merge branch 'bc/tree-walk-oid'
The code to walk tree objects has been taught that we may be working with object names that are not computed with SHA-1. * bc/tree-walk-oid: cache: make oidcpy always copy GIT_MAX_RAWSZ bytes tree-walk: store object_id in a separate member match-trees: use hashcpy to splice trees match-trees: compute buffer offset correctly when splicing tree-walk: copy object ID before use
This commit is contained in:
@@ -239,7 +239,7 @@ static struct combine_diff_path *emit_path(struct combine_diff_path *p,
|
||||
DIFF_STATUS_ADDED;
|
||||
|
||||
if (tpi_valid) {
|
||||
oid_i = tp[i].entry.oid;
|
||||
oid_i = &tp[i].entry.oid;
|
||||
mode_i = tp[i].entry.mode;
|
||||
}
|
||||
else {
|
||||
@@ -280,7 +280,7 @@ static struct combine_diff_path *emit_path(struct combine_diff_path *p,
|
||||
/* same rule as in emitthis */
|
||||
int tpi_valid = tp && !(tp[i].entry.mode & S_IFXMIN_NEQ);
|
||||
|
||||
parents_oid[i] = tpi_valid ? tp[i].entry.oid : NULL;
|
||||
parents_oid[i] = tpi_valid ? &tp[i].entry.oid : NULL;
|
||||
}
|
||||
|
||||
strbuf_add(base, path, pathlen);
|
||||
@@ -492,7 +492,7 @@ static struct combine_diff_path *ll_diff_tree_paths(
|
||||
continue;
|
||||
|
||||
/* diff(t,pi) != ø */
|
||||
if (!oideq(t.entry.oid, tp[i].entry.oid) ||
|
||||
if (!oideq(&t.entry.oid, &tp[i].entry.oid) ||
|
||||
(t.entry.mode != tp[i].entry.mode))
|
||||
continue;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user