mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-25 01:37:09 +00:00

We now store only one sorting callback that does entry comparison. This is used when sorting the entries using a quicksort, and when looking for a specific entry with the new search methods. The following search methods now exist: git_vector_search(vector, entry) git_vector_search2(vector, custom_search_callback, key) git_vector_bsearch(vector, entry) git_vector_bsearch2(vector, custom_search_callback, key) The sorting state of the vector is now stored internally. Signed-off-by: Vicent Marti <tanoku@gmail.com>
35 lines
551 B
C
35 lines
551 B
C
#ifndef INCLUDE_index_h__
|
|
#define INCLUDE_index_h__
|
|
|
|
#include "fileops.h"
|
|
#include "filebuf.h"
|
|
#include "vector.h"
|
|
#include "git2/odb.h"
|
|
#include "git2/index.h"
|
|
|
|
struct git_index_tree {
|
|
char *name;
|
|
|
|
struct git_index_tree *parent;
|
|
struct git_index_tree **children;
|
|
size_t children_count;
|
|
|
|
size_t entries;
|
|
git_oid oid;
|
|
};
|
|
|
|
typedef struct git_index_tree git_index_tree;
|
|
|
|
struct git_index {
|
|
git_repository *repository;
|
|
char *index_file_path;
|
|
|
|
time_t last_modified;
|
|
git_vector entries;
|
|
|
|
unsigned int on_disk:1;
|
|
git_index_tree *tree;
|
|
};
|
|
|
|
#endif
|