summaryrefslogtreecommitdiff
path: root/src/tree.c
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2012-10-05 15:56:57 -0700
committerRussell Belfer <rb@github.com>2012-10-09 11:59:34 -0700
commit0d64bef941928046d114c4da1acb70bd2907855e (patch)
tree4ae0ac6484c62b0a63ca44f937d67ba15f97d7f0 /src/tree.c
parentf3a04e0f49d0f46e578613d1c27161abc4c2bf22 (diff)
downloadlibgit2-0d64bef941928046d114c4da1acb70bd2907855e.tar.gz
Add complex checkout test and then fix checkout
This started as a complex new test for checkout going through the "typechanges" test repository, but that revealed numerous issues with checkout, including: * complete failure with submodules * failure to create blobs with exec bits * problems when replacing a tree with a blob because the tree "example/" sorts after the blob "example" so the delete was being processed after the single file blob was created This fixes most of those problems and includes a number of other minor changes that made it easier to do that, including improving the TYPECHANGE support in diff/status, etc.
Diffstat (limited to 'src/tree.c')
-rw-r--r--src/tree.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/tree.c b/src/tree.c
index 83aa303d4..8d3f2665c 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -180,9 +180,9 @@ void git_tree__free(git_tree *tree)
git__free(tree);
}
-const git_oid *git_tree_id(git_tree *c)
+const git_oid *git_tree_id(const git_tree *c)
{
- return git_object_id((git_object *)c);
+ return git_object_id((const git_object *)c);
}
git_filemode_t git_tree_entry_filemode(const git_tree_entry *entry)
@@ -286,7 +286,7 @@ int git_tree__prefix_position(git_tree *tree, const char *path)
return at_pos;
}
-unsigned int git_tree_entrycount(git_tree *tree)
+unsigned int git_tree_entrycount(const git_tree *tree)
{
assert(tree);
return (unsigned int)tree->entries.length;