Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVicent Marti <tanoku@gmail.com>2010-09-21 18:17:10 +0400
committerVicent Marti <tanoku@gmail.com>2010-09-21 18:17:10 +0400
commit2a884588b405c4dee78494119a123fb1878f3490 (patch)
tree04be673b6bd0ea4dd6ac00d8ccf8101e1a9baaec /src/tree.h
parentd45b4a9a1bcbb157a4f02cf5ed23fde5222db9c8 (diff)
Add write-back support for git_tree
All the setter methods for git_tree have been added, including the setters for attributes on each git_tree_entry and methods to add/remove entries of the tree. Modified trees and trees created in-memory from scratch can be written back to the repository using git_object_write(). Signed-off-by: Vicent Marti <tanoku@gmail.com>
Diffstat (limited to 'src/tree.h')
-rw-r--r--src/tree.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/tree.h b/src/tree.h
index dd15b9b9b..118d2c3d6 100644
--- a/src/tree.h
+++ b/src/tree.h
@@ -4,9 +4,11 @@
#include <git/tree.h>
#include "repository.h"
+#define GIT_TREE_MAX_FILENAME 255
+
struct git_tree_entry {
unsigned int attr;
- char *filename;
+ char filename[GIT_TREE_MAX_FILENAME];
git_oid oid;
git_tree *owner;
@@ -15,11 +17,13 @@ struct git_tree_entry {
struct git_tree {
git_object object;
- git_tree_entry *entries;
+ git_tree_entry **entries;
size_t entry_count;
+ size_t array_size;
};
void git_tree__free(git_tree *tree);
int git_tree__parse(git_tree *tree);
+int git_tree__writeback(git_tree *tree, git_odb_source *src);
#endif