Merge branch 'bp/fsmonitor'
We learned to talk to watchman to speed up "git status" and other operations that need to see which paths have been modified. * bp/fsmonitor: fsmonitor: preserve utf8 filenames in fsmonitor-watchman log fsmonitor: read entirety of watchman output fsmonitor: MINGW support for watchman integration fsmonitor: add a performance test fsmonitor: add a sample integration script for Watchman fsmonitor: add test cases for fsmonitor extension split-index: disable the fsmonitor extension when running the split index test fsmonitor: add a test tool to dump the index extension update-index: add fsmonitor support to update-index ls-files: Add support in ls-files to display the fsmonitor valid bit fsmonitor: add documentation for the fsmonitor extension. fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files. update-index: add a new --force-write-index option preload-index: add override to enable testing preload-index bswap: add 64 bit endianness helper get_be64
This commit is contained in:
10
cache.h
10
cache.h
@ -204,6 +204,7 @@ struct cache_entry {
|
||||
#define CE_ADDED (1 << 19)
|
||||
|
||||
#define CE_HASHED (1 << 20)
|
||||
#define CE_FSMONITOR_VALID (1 << 21)
|
||||
#define CE_WT_REMOVE (1 << 22) /* remove in work directory */
|
||||
#define CE_CONFLICTED (1 << 23)
|
||||
|
||||
@ -327,6 +328,7 @@ static inline unsigned int canon_mode(unsigned int mode)
|
||||
#define CACHE_TREE_CHANGED (1 << 5)
|
||||
#define SPLIT_INDEX_ORDERED (1 << 6)
|
||||
#define UNTRACKED_CHANGED (1 << 7)
|
||||
#define FSMONITOR_CHANGED (1 << 8)
|
||||
|
||||
struct split_index;
|
||||
struct untracked_cache;
|
||||
@ -345,6 +347,7 @@ struct index_state {
|
||||
struct hashmap dir_hash;
|
||||
unsigned char sha1[20];
|
||||
struct untracked_cache *untracked;
|
||||
uint64_t fsmonitor_last_update;
|
||||
};
|
||||
|
||||
extern struct index_state the_index;
|
||||
@ -700,8 +703,10 @@ extern void *read_blob_data_from_index(const struct index_state *, const char *,
|
||||
#define CE_MATCH_IGNORE_MISSING 0x08
|
||||
/* enable stat refresh */
|
||||
#define CE_MATCH_REFRESH 0x10
|
||||
extern int ie_match_stat(const struct index_state *, const struct cache_entry *, struct stat *, unsigned int);
|
||||
extern int ie_modified(const struct index_state *, const struct cache_entry *, struct stat *, unsigned int);
|
||||
/* don't refresh_fsmonitor state or do stat comparison even if CE_FSMONITOR_VALID is true */
|
||||
#define CE_MATCH_IGNORE_FSMONITOR 0X20
|
||||
extern int ie_match_stat(struct index_state *, const struct cache_entry *, struct stat *, unsigned int);
|
||||
extern int ie_modified(struct index_state *, const struct cache_entry *, struct stat *, unsigned int);
|
||||
|
||||
#define HASH_WRITE_OBJECT 1
|
||||
#define HASH_FORMAT_CHECK 2
|
||||
@ -799,6 +804,7 @@ extern int core_apply_sparse_checkout;
|
||||
extern int precomposed_unicode;
|
||||
extern int protect_hfs;
|
||||
extern int protect_ntfs;
|
||||
extern const char *core_fsmonitor;
|
||||
|
||||
/*
|
||||
* Include broken refs in all ref iterations, which will
|
||||
|
Reference in New Issue
Block a user