mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-05 13:15:39 +00:00
Merge pull request #234 from Romain-Geissler/entry-count-API-uniformisation
[Tree | Index] API uniformisation
This commit is contained in:
commit
00c31dd293
@ -257,7 +257,7 @@ GIT_EXTERN(int) git_index_remove(git_index *index, int position);
|
|||||||
* @param n the position of the entry
|
* @param n the position of the entry
|
||||||
* @return a pointer to the entry; NULL if out of bounds
|
* @return a pointer to the entry; NULL if out of bounds
|
||||||
*/
|
*/
|
||||||
GIT_EXTERN(git_index_entry *) git_index_get(git_index *index, int n);
|
GIT_EXTERN(git_index_entry *) git_index_get(git_index *index, unsigned int n);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the count of entries currently in the index
|
* Get the count of entries currently in the index
|
||||||
@ -285,7 +285,19 @@ GIT_EXTERN(unsigned int) git_index_entrycount_unmerged(git_index *index);
|
|||||||
* @param path path to search
|
* @param path path to search
|
||||||
* @return the unmerged entry; NULL if not found
|
* @return the unmerged entry; NULL if not found
|
||||||
*/
|
*/
|
||||||
GIT_EXTERN(const git_index_entry_unmerged *) git_index_get_unmerged(git_index *index, const char *path);
|
GIT_EXTERN(const git_index_entry_unmerged *) git_index_get_unmerged_bypath(git_index *index, const char *path);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an unmerged entry from the index.
|
||||||
|
*
|
||||||
|
* The returned entry is read-only and should not be modified
|
||||||
|
* of freed by the caller.
|
||||||
|
*
|
||||||
|
* @param index an existing index object
|
||||||
|
* @param n the position of the entry
|
||||||
|
* @return a pointer to the unmerged entry; NULL if out of bounds
|
||||||
|
*/
|
||||||
|
GIT_EXTERN(const git_index_entry_unmerged *) git_index_get_unmerged_byindex(git_index *index, unsigned int n);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the stage number from a git index entry
|
* Return the stage number from a git index entry
|
||||||
|
@ -84,7 +84,7 @@ GIT_EXTERN(const git_oid *) git_tree_id(git_tree *tree);
|
|||||||
* @param tree a previously loaded tree.
|
* @param tree a previously loaded tree.
|
||||||
* @return the number of entries in the tree
|
* @return the number of entries in the tree
|
||||||
*/
|
*/
|
||||||
GIT_EXTERN(size_t) git_tree_entrycount(git_tree *tree);
|
GIT_EXTERN(unsigned int) git_tree_entrycount(git_tree *tree);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lookup a tree entry by its filename
|
* Lookup a tree entry by its filename
|
||||||
@ -102,7 +102,7 @@ GIT_EXTERN(const git_tree_entry *) git_tree_entry_byname(git_tree *tree, const c
|
|||||||
* @param idx the position in the entry list
|
* @param idx the position in the entry list
|
||||||
* @return the tree entry; NULL if not found
|
* @return the tree entry; NULL if not found
|
||||||
*/
|
*/
|
||||||
GIT_EXTERN(const git_tree_entry *) git_tree_entry_byindex(git_tree *tree, int idx);
|
GIT_EXTERN(const git_tree_entry *) git_tree_entry_byindex(git_tree *tree, unsigned int idx);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the UNIX file attributes of a tree entry
|
* Get the UNIX file attributes of a tree entry
|
||||||
|
12
src/index.c
12
src/index.c
@ -322,11 +322,11 @@ unsigned int git_index_entrycount_unmerged(git_index *index)
|
|||||||
return index->unmerged.length;
|
return index->unmerged.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
git_index_entry *git_index_get(git_index *index, int n)
|
git_index_entry *git_index_get(git_index *index, unsigned int n)
|
||||||
{
|
{
|
||||||
assert(index);
|
assert(index);
|
||||||
sort_index(index);
|
sort_index(index);
|
||||||
return git_vector_get(&index->entries, (unsigned int)n);
|
return git_vector_get(&index->entries, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sort_index(git_index *index)
|
static void sort_index(git_index *index)
|
||||||
@ -479,7 +479,7 @@ int git_index_find(git_index *index, const char *path)
|
|||||||
return git_vector_bsearch2(&index->entries, index_srch, path);
|
return git_vector_bsearch2(&index->entries, index_srch, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
const git_index_entry_unmerged *git_index_get_unmerged(git_index *index, const char *path)
|
const git_index_entry_unmerged *git_index_get_unmerged_bypath(git_index *index, const char *path)
|
||||||
{
|
{
|
||||||
int pos;
|
int pos;
|
||||||
assert(index && path);
|
assert(index && path);
|
||||||
@ -493,6 +493,12 @@ const git_index_entry_unmerged *git_index_get_unmerged(git_index *index, const c
|
|||||||
return git_vector_get(&index->unmerged, pos);
|
return git_vector_get(&index->unmerged, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const git_index_entry_unmerged *git_index_get_unmerged_byindex(git_index *index, unsigned int n)
|
||||||
|
{
|
||||||
|
assert(index);
|
||||||
|
return git_vector_get(&index->unmerged, n);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int read_tree_internal(git_index_tree **out,
|
static int read_tree_internal(git_index_tree **out,
|
||||||
const char **buffer_in, const char *buffer_end, git_index_tree *parent)
|
const char **buffer_in, const char *buffer_end, git_index_tree *parent)
|
||||||
|
16
src/tree.c
16
src/tree.c
@ -119,13 +119,13 @@ const git_tree_entry *git_tree_entry_byname(git_tree *tree, const char *filename
|
|||||||
return git_vector_get(&tree->entries, idx);
|
return git_vector_get(&tree->entries, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
const git_tree_entry *git_tree_entry_byindex(git_tree *tree, int idx)
|
const git_tree_entry *git_tree_entry_byindex(git_tree *tree, unsigned int idx)
|
||||||
{
|
{
|
||||||
assert(tree);
|
assert(tree);
|
||||||
return git_vector_get(&tree->entries, (unsigned int)idx);
|
return git_vector_get(&tree->entries, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t git_tree_entrycount(git_tree *tree)
|
unsigned int git_tree_entrycount(git_tree *tree)
|
||||||
{
|
{
|
||||||
assert(tree);
|
assert(tree);
|
||||||
return tree->entries.length;
|
return tree->entries.length;
|
||||||
@ -288,7 +288,7 @@ static void sort_entries(git_treebuilder *bld)
|
|||||||
int git_treebuilder_create(git_treebuilder **builder_p, const git_tree *source)
|
int git_treebuilder_create(git_treebuilder **builder_p, const git_tree *source)
|
||||||
{
|
{
|
||||||
git_treebuilder *bld;
|
git_treebuilder *bld;
|
||||||
size_t i, source_entries = DEFAULT_TREE_SIZE;
|
unsigned int i, source_entries = DEFAULT_TREE_SIZE;
|
||||||
|
|
||||||
assert(builder_p);
|
assert(builder_p);
|
||||||
|
|
||||||
@ -409,7 +409,7 @@ int git_treebuilder_remove(git_treebuilder *bld, const char *filename)
|
|||||||
|
|
||||||
int git_treebuilder_write(git_oid *oid, git_repository *repo, git_treebuilder *bld)
|
int git_treebuilder_write(git_oid *oid, git_repository *repo, git_treebuilder *bld)
|
||||||
{
|
{
|
||||||
size_t i, size = 0;
|
unsigned int i, size = 0;
|
||||||
char filemode[MAX_FILEMODE_BYTES + 1 + 1];
|
char filemode[MAX_FILEMODE_BYTES + 1 + 1];
|
||||||
git_odb_stream *stream;
|
git_odb_stream *stream;
|
||||||
int error;
|
int error;
|
||||||
@ -443,7 +443,7 @@ int git_treebuilder_write(git_oid *oid, git_repository *repo, git_treebuilder *b
|
|||||||
stream->write(stream, filemode, strlen(filemode));
|
stream->write(stream, filemode, strlen(filemode));
|
||||||
stream->write(stream, entry->filename, entry->filename_len + 1);
|
stream->write(stream, entry->filename, entry->filename_len + 1);
|
||||||
stream->write(stream, (char *)entry->oid.id, GIT_OID_RAWSZ);
|
stream->write(stream, (char *)entry->oid.id, GIT_OID_RAWSZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
error = stream->finalize_write(oid, stream);
|
error = stream->finalize_write(oid, stream);
|
||||||
stream->free(stream);
|
stream->free(stream);
|
||||||
@ -453,7 +453,7 @@ int git_treebuilder_write(git_oid *oid, git_repository *repo, git_treebuilder *b
|
|||||||
|
|
||||||
void git_treebuilder_filter(git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload)
|
void git_treebuilder_filter(git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload)
|
||||||
{
|
{
|
||||||
size_t i;
|
unsigned int i;
|
||||||
|
|
||||||
assert(bld && filter);
|
assert(bld && filter);
|
||||||
|
|
||||||
@ -466,7 +466,7 @@ void git_treebuilder_filter(git_treebuilder *bld, int (*filter)(const git_tree_e
|
|||||||
|
|
||||||
void git_treebuilder_clear(git_treebuilder *bld)
|
void git_treebuilder_clear(git_treebuilder *bld)
|
||||||
{
|
{
|
||||||
size_t i;
|
unsigned int i;
|
||||||
assert(bld);
|
assert(bld);
|
||||||
|
|
||||||
for (i = 0; i < bld->entries.length; ++i) {
|
for (i = 0; i < bld->entries.length; ++i) {
|
||||||
|
Loading…
Reference in New Issue
Block a user