diff options
| author | Vicent Marti <tanoku@gmail.com> | 2011-01-29 02:12:59 +0200 |
|---|---|---|
| committer | Vicent Marti <tanoku@gmail.com> | 2011-01-29 02:12:59 +0200 |
| commit | b29e8f19300bb95b9f8307f1438193271233adc8 (patch) | |
| tree | 0507587cdeb25cf3d93552ff33e3d599f659b3a6 /src/tree.c | |
| parent | 37c2d54c8590d3eaeb33aec198089dc917fd351d (diff) | |
| download | libgit2-b29e8f19300bb95b9f8307f1438193271233adc8.tar.gz | |
Return the created entry in git_tree_add_entry()
Yes, we are breaking the API. Alpha software, deal with it.
We need a way of getting a pointer to each newly added entry to the
index, because manually looking up the entry after creation is
outrageously expensive.
Signed-off-by: Vicent Marti <tanoku@gmail.com>
Diffstat (limited to 'src/tree.c')
| -rw-r--r-- | src/tree.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/tree.c b/src/tree.c index d160a79a4..dffe872e0 100644 --- a/src/tree.c +++ b/src/tree.c @@ -174,7 +174,7 @@ size_t git_tree_entrycount(git_tree *tree) return tree->entries.length; } -int git_tree_add_entry(git_tree *tree, const git_oid *id, const char *filename, int attributes) +int git_tree_add_entry(git_tree_entry **entry_out, git_tree *tree, const git_oid *id, const char *filename, int attributes) { git_tree_entry *entry; @@ -195,6 +195,9 @@ int git_tree_add_entry(git_tree *tree, const git_oid *id, const char *filename, git_vector_sort(&tree->entries); + if (entry_out != NULL) + *entry_out = entry; + tree->object.modified = 1; return GIT_SUCCESS; } |
