2 * Copyright (C) 2009-2012 the libgit2 contributors
4 * This file is part of libgit2, distributed under the GNU GPL v2 with
5 * a Linking Exception. For full terms see the included COPYING file.
7 #ifndef INCLUDE_index_h__
8 #define INCLUDE_index_h__
13 #include "tree-cache.h"
15 #include "git2/index.h"
17 #define GIT_INDEX_FILE "index"
18 #define GIT_INDEX_FILE_MODE 0666
23 char *index_file_path
;
25 git_futils_filestamp stamp
;
28 unsigned int on_disk
:1;
30 unsigned int ignore_case
:1;
31 unsigned int distrust_filemode
:1;
32 unsigned int no_symlinks
:1;
38 git_vector_cmp entries_cmp_path
;
39 git_vector_cmp entries_search
;
40 git_vector_cmp entries_search_path
;
41 git_vector_cmp reuc_search
;
44 extern void git_index_entry__init_from_stat(git_index_entry
*entry
, struct stat
*st
);
46 extern unsigned int git_index__prefix_position(git_index
*index
, const char *path
);
48 extern int git_index_entry__cmp(const void *a
, const void *b
);
49 extern int git_index_entry__cmp_icase(const void *a
, const void *b
);
51 extern int git_index_read_tree_match(
52 git_index
*index
, git_tree
*tree
, git_strarray
*strspec
);