diff options
Diffstat (limited to 'src/tree.c')
-rw-r--r-- | src/tree.c | 9 |
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; |