summaryrefslogtreecommitdiff
path: root/src/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tree.c')
-rw-r--r--src/tree.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/tree.c b/src/tree.c
index b64efe460..4ddb26b2d 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -667,10 +667,16 @@ int git_treebuilder_insert(
entry->removed = 0;
bld->entrycount++;
}
+
+ entry->attr = filemode;
+ git_oid_cpy(&entry->oid, id);
} else {
entry = alloc_entry(filename);
GITERR_CHECK_ALLOC(entry);
+ entry->attr = filemode;
+ git_oid_cpy(&entry->oid, id);
+
if (git_vector_insert_sorted(&bld->entries, entry, NULL) < 0) {
git__free(entry);
return -1;
@@ -679,9 +685,6 @@ int git_treebuilder_insert(
bld->entrycount++;
}
- git_oid_cpy(&entry->oid, id);
- entry->attr = filemode;
-
if (entry_out)
*entry_out = entry;