зеркало из https://github.com/microsoft/git.git
Merge branch 'sb/in-core-index-doc'
Documentation and in-code comments updates. * sb/in-core-index-doc: documentation: retire unfinished documentation cache.h: document add_[file_]to_index cache.h: document remove_index_entry_at cache.h: document index_name_pos
This commit is contained in:
Коммит
feaad0eec7
|
@ -1,21 +0,0 @@
|
||||||
in-core index API
|
|
||||||
=================
|
|
||||||
|
|
||||||
Talk about <read-cache.c> and <cache-tree.c>, things like:
|
|
||||||
|
|
||||||
* cache -> the_index macros
|
|
||||||
* read_index()
|
|
||||||
* write_index()
|
|
||||||
* ie_match_stat() and ie_modified(); how they are different and when to
|
|
||||||
use which.
|
|
||||||
* index_name_pos()
|
|
||||||
* remove_index_entry_at()
|
|
||||||
* remove_file_from_index()
|
|
||||||
* add_file_to_index()
|
|
||||||
* add_index_entry()
|
|
||||||
* refresh_index()
|
|
||||||
* discard_index()
|
|
||||||
* cache_tree_invalidate_path()
|
|
||||||
* cache_tree_update()
|
|
||||||
|
|
||||||
(JC, Linus)
|
|
32
cache.h
32
cache.h
|
@ -574,7 +574,26 @@ extern int verify_path(const char *path);
|
||||||
extern int index_dir_exists(struct index_state *istate, const char *name, int namelen);
|
extern int index_dir_exists(struct index_state *istate, const char *name, int namelen);
|
||||||
extern void adjust_dirname_case(struct index_state *istate, char *name);
|
extern void adjust_dirname_case(struct index_state *istate, char *name);
|
||||||
extern struct cache_entry *index_file_exists(struct index_state *istate, const char *name, int namelen, int igncase);
|
extern struct cache_entry *index_file_exists(struct index_state *istate, const char *name, int namelen, int igncase);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Searches for an entry defined by name and namelen in the given index.
|
||||||
|
* If the return value is positive (including 0) it is the position of an
|
||||||
|
* exact match. If the return value is negative, the negated value minus 1
|
||||||
|
* is the position where the entry would be inserted.
|
||||||
|
* Example: The current index consists of these files and its stages:
|
||||||
|
*
|
||||||
|
* b#0, d#0, f#1, f#3
|
||||||
|
*
|
||||||
|
* index_name_pos(&index, "a", 1) -> -1
|
||||||
|
* index_name_pos(&index, "b", 1) -> 0
|
||||||
|
* index_name_pos(&index, "c", 1) -> -2
|
||||||
|
* index_name_pos(&index, "d", 1) -> 1
|
||||||
|
* index_name_pos(&index, "e", 1) -> -3
|
||||||
|
* index_name_pos(&index, "f", 1) -> -3
|
||||||
|
* index_name_pos(&index, "g", 1) -> -5
|
||||||
|
*/
|
||||||
extern int index_name_pos(const struct index_state *, const char *name, int namelen);
|
extern int index_name_pos(const struct index_state *, const char *name, int namelen);
|
||||||
|
|
||||||
#define ADD_CACHE_OK_TO_ADD 1 /* Ok to add */
|
#define ADD_CACHE_OK_TO_ADD 1 /* Ok to add */
|
||||||
#define ADD_CACHE_OK_TO_REPLACE 2 /* Ok to replace file/directory */
|
#define ADD_CACHE_OK_TO_REPLACE 2 /* Ok to replace file/directory */
|
||||||
#define ADD_CACHE_SKIP_DFCHECK 4 /* Ok to skip DF conflict checks */
|
#define ADD_CACHE_SKIP_DFCHECK 4 /* Ok to skip DF conflict checks */
|
||||||
|
@ -583,7 +602,10 @@ extern int index_name_pos(const struct index_state *, const char *name, int name
|
||||||
#define ADD_CACHE_KEEP_CACHE_TREE 32 /* Do not invalidate cache-tree */
|
#define ADD_CACHE_KEEP_CACHE_TREE 32 /* Do not invalidate cache-tree */
|
||||||
extern int add_index_entry(struct index_state *, struct cache_entry *ce, int option);
|
extern int add_index_entry(struct index_state *, struct cache_entry *ce, int option);
|
||||||
extern void rename_index_entry_at(struct index_state *, int pos, const char *new_name);
|
extern void rename_index_entry_at(struct index_state *, int pos, const char *new_name);
|
||||||
|
|
||||||
|
/* Remove entry, return true if there are more entries to go. */
|
||||||
extern int remove_index_entry_at(struct index_state *, int pos);
|
extern int remove_index_entry_at(struct index_state *, int pos);
|
||||||
|
|
||||||
extern void remove_marked_cache_entries(struct index_state *istate);
|
extern void remove_marked_cache_entries(struct index_state *istate);
|
||||||
extern int remove_file_from_index(struct index_state *, const char *path);
|
extern int remove_file_from_index(struct index_state *, const char *path);
|
||||||
#define ADD_CACHE_VERBOSE 1
|
#define ADD_CACHE_VERBOSE 1
|
||||||
|
@ -591,8 +613,18 @@ extern int remove_file_from_index(struct index_state *, const char *path);
|
||||||
#define ADD_CACHE_IGNORE_ERRORS 4
|
#define ADD_CACHE_IGNORE_ERRORS 4
|
||||||
#define ADD_CACHE_IGNORE_REMOVAL 8
|
#define ADD_CACHE_IGNORE_REMOVAL 8
|
||||||
#define ADD_CACHE_INTENT 16
|
#define ADD_CACHE_INTENT 16
|
||||||
|
/*
|
||||||
|
* These two are used to add the contents of the file at path
|
||||||
|
* to the index, marking the working tree up-to-date by storing
|
||||||
|
* the cached stat info in the resulting cache entry. A caller
|
||||||
|
* that has already run lstat(2) on the path can call
|
||||||
|
* add_to_index(), and all others can call add_file_to_index();
|
||||||
|
* the latter will do necessary lstat(2) internally before
|
||||||
|
* calling the former.
|
||||||
|
*/
|
||||||
extern int add_to_index(struct index_state *, const char *path, struct stat *, int flags);
|
extern int add_to_index(struct index_state *, const char *path, struct stat *, int flags);
|
||||||
extern int add_file_to_index(struct index_state *, const char *path, int flags);
|
extern int add_file_to_index(struct index_state *, const char *path, int flags);
|
||||||
|
|
||||||
extern struct cache_entry *make_cache_entry(unsigned int mode, const unsigned char *sha1, const char *path, int stage, unsigned int refresh_options);
|
extern struct cache_entry *make_cache_entry(unsigned int mode, const unsigned char *sha1, const char *path, int stage, unsigned int refresh_options);
|
||||||
extern int chmod_index_entry(struct index_state *, struct cache_entry *ce, char flip);
|
extern int chmod_index_entry(struct index_state *, struct cache_entry *ce, char flip);
|
||||||
extern int ce_same_name(const struct cache_entry *a, const struct cache_entry *b);
|
extern int ce_same_name(const struct cache_entry *a, const struct cache_entry *b);
|
||||||
|
|
|
@ -503,7 +503,6 @@ int index_name_pos(const struct index_state *istate, const char *name, int namel
|
||||||
return index_name_stage_pos(istate, name, namelen, 0);
|
return index_name_stage_pos(istate, name, namelen, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove entry, return true if there are more entries to go.. */
|
|
||||||
int remove_index_entry_at(struct index_state *istate, int pos)
|
int remove_index_entry_at(struct index_state *istate, int pos)
|
||||||
{
|
{
|
||||||
struct cache_entry *ce = istate->cache[pos];
|
struct cache_entry *ce = istate->cache[pos];
|
||||||
|
|
Загрузка…
Ссылка в новой задаче