mirror of
https://github.com/git/git.git
synced 2024-12-13 03:44:17 +08:00
53 lines
1.5 KiB
C
53 lines
1.5 KiB
C
|
#ifndef FSMONITOR_LL_H
|
||
|
#define FSMONITOR_LL_H
|
||
|
|
||
|
struct index_state;
|
||
|
struct strbuf;
|
||
|
|
||
|
extern struct trace_key trace_fsmonitor;
|
||
|
|
||
|
/*
|
||
|
* Read the fsmonitor index extension and (if configured) restore the
|
||
|
* CE_FSMONITOR_VALID state.
|
||
|
*/
|
||
|
int read_fsmonitor_extension(struct index_state *istate, const void *data, unsigned long sz);
|
||
|
|
||
|
/*
|
||
|
* Fill the fsmonitor_dirty ewah bits with their state from the index,
|
||
|
* before it is split during writing.
|
||
|
*/
|
||
|
void fill_fsmonitor_bitmap(struct index_state *istate);
|
||
|
|
||
|
/*
|
||
|
* Write the CE_FSMONITOR_VALID state into the fsmonitor index
|
||
|
* extension. Reads from the fsmonitor_dirty ewah in the index.
|
||
|
*/
|
||
|
void write_fsmonitor_extension(struct strbuf *sb, struct index_state *istate);
|
||
|
|
||
|
/*
|
||
|
* Add/remove the fsmonitor index extension
|
||
|
*/
|
||
|
void add_fsmonitor(struct index_state *istate);
|
||
|
void remove_fsmonitor(struct index_state *istate);
|
||
|
|
||
|
/*
|
||
|
* Add/remove the fsmonitor index extension as necessary based on the current
|
||
|
* core.fsmonitor setting.
|
||
|
*/
|
||
|
void tweak_fsmonitor(struct index_state *istate);
|
||
|
|
||
|
/*
|
||
|
* Run the configured fsmonitor integration script and clear the
|
||
|
* CE_FSMONITOR_VALID bit for any files returned as dirty. Also invalidate
|
||
|
* any corresponding untracked cache directory structures. Optimized to only
|
||
|
* run the first time it is called.
|
||
|
*/
|
||
|
void refresh_fsmonitor(struct index_state *istate);
|
||
|
|
||
|
/*
|
||
|
* Does the received result contain the "trivial" response?
|
||
|
*/
|
||
|
int fsmonitor_is_trivial_response(const struct strbuf *query_result);
|
||
|
|
||
|
#endif /* FSMONITOR_LL_H */
|