fsmonitor-ll.h: split this header out of fsmonitor.h

This creates a new fsmonitor-ll.h with most of the functions from
fsmonitor.h, though it leaves three inline functions where they were.
Two-thirds of the files that previously included fsmonitor.h did not
need those three inline functions or the six extra includes those inline
functions required, so this allows them to only include the lower level
header.

Diff best viewed with `--color-moved`.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Elijah Newren 2023-05-16 06:34:08 +00:00 committed by Junio C Hamano
parent b9a7ac2c68
commit 68d686460f
15 changed files with 73 additions and 58 deletions

View file

@ -5,15 +5,17 @@
#include "environment.h" #include "environment.h"
#include "gettext.h" #include "gettext.h"
#include "parse-options.h" #include "parse-options.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "fsmonitor-ipc.h" #include "fsmonitor-ipc.h"
#include "fsmonitor-path-utils.h" #include "fsmonitor-path-utils.h"
#include "fsmonitor-settings.h"
#include "compat/fsmonitor/fsm-health.h" #include "compat/fsmonitor/fsm-health.h"
#include "compat/fsmonitor/fsm-listen.h" #include "compat/fsmonitor/fsm-listen.h"
#include "fsmonitor--daemon.h" #include "fsmonitor--daemon.h"
#include "simple-ipc.h" #include "simple-ipc.h"
#include "khash.h" #include "khash.h"
#include "pkt-line.h" #include "pkt-line.h"
#include "trace.h"
#include "trace2.h" #include "trace2.h"
static const char * const builtin_fsmonitor__daemon_usage[] = { static const char * const builtin_fsmonitor__daemon_usage[] = {

View file

@ -1,6 +1,6 @@
#include "git-compat-util.h" #include "git-compat-util.h"
#include "config.h" #include "config.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "fsm-health.h" #include "fsm-health.h"
#include "fsmonitor--daemon.h" #include "fsmonitor--daemon.h"

View file

@ -1,6 +1,6 @@
#include "git-compat-util.h" #include "git-compat-util.h"
#include "config.h" #include "config.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "fsm-health.h" #include "fsm-health.h"
#include "fsmonitor--daemon.h" #include "fsmonitor--daemon.h"
#include "gettext.h" #include "gettext.h"

View file

@ -5,7 +5,7 @@
#include "path.h" #include "path.h"
#include "repository.h" #include "repository.h"
#include "strbuf.h" #include "strbuf.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "fsmonitor-ipc.h" #include "fsmonitor-ipc.h"
#include "fsmonitor-path-utils.h" #include "fsmonitor-path-utils.h"

View file

@ -24,12 +24,13 @@
#endif #endif
#include "git-compat-util.h" #include "git-compat-util.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "fsm-listen.h" #include "fsm-listen.h"
#include "fsmonitor--daemon.h" #include "fsmonitor--daemon.h"
#include "fsmonitor-path-utils.h" #include "fsmonitor-path-utils.h"
#include "gettext.h" #include "gettext.h"
#include "string-list.h" #include "string-list.h"
#include "trace.h"
struct fsm_listen_data struct fsm_listen_data
{ {

View file

@ -1,6 +1,6 @@
#include "git-compat-util.h" #include "git-compat-util.h"
#include "config.h" #include "config.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "fsm-listen.h" #include "fsm-listen.h"
#include "fsmonitor--daemon.h" #include "fsmonitor--daemon.h"
#include "gettext.h" #include "gettext.h"

View file

@ -1,7 +1,8 @@
#include "git-compat-util.h" #include "git-compat-util.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "fsmonitor-path-utils.h" #include "fsmonitor-path-utils.h"
#include "gettext.h" #include "gettext.h"
#include "trace.h"
#include <dirent.h> #include <dirent.h>
#include <errno.h> #include <errno.h>
#include <fcntl.h> #include <fcntl.h>

View file

@ -1,7 +1,8 @@
#include "git-compat-util.h" #include "git-compat-util.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "fsmonitor-path-utils.h" #include "fsmonitor-path-utils.h"
#include "gettext.h" #include "gettext.h"
#include "trace.h"
/* /*
* Check remote working directory protocol. * Check remote working directory protocol.

View file

@ -1,6 +1,6 @@
#include "git-compat-util.h" #include "git-compat-util.h"
#include "config.h" #include "config.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "fsmonitor-ipc.h" #include "fsmonitor-ipc.h"
#include "fsmonitor-settings.h" #include "fsmonitor-settings.h"
#include "fsmonitor-path-utils.h" #include "fsmonitor-path-utils.h"

View file

@ -1,7 +1,7 @@
#include "git-compat-util.h" #include "git-compat-util.h"
#include "config.h" #include "config.h"
#include "repository.h" #include "repository.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "fsmonitor-settings.h" #include "fsmonitor-settings.h"
#include "fsmonitor-path-utils.h" #include "fsmonitor-path-utils.h"

3
dir.c
View file

@ -24,7 +24,8 @@
#include "utf8.h" #include "utf8.h"
#include "varint.h" #include "varint.h"
#include "ewah/ewok.h" #include "ewah/ewok.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "read-cache-ll.h"
#include "setup.h" #include "setup.h"
#include "sparse-index.h" #include "sparse-index.h"
#include "submodule-config.h" #include "submodule-config.h"

View file

@ -1,5 +1,5 @@
#include "git-compat-util.h" #include "git-compat-util.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
#include "gettext.h" #include "gettext.h"
#include "simple-ipc.h" #include "simple-ipc.h"
#include "fsmonitor-ipc.h" #include "fsmonitor-ipc.h"

52
fsmonitor-ll.h Normal file
View file

@ -0,0 +1,52 @@
#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 */

View file

@ -1,57 +1,13 @@
#ifndef FSMONITOR_H #ifndef FSMONITOR_H
#define FSMONITOR_H #define FSMONITOR_H
#include "fsmonitor-ll.h"
#include "dir.h" #include "dir.h"
#include "fsmonitor-settings.h" #include "fsmonitor-settings.h"
#include "object.h" #include "object.h"
#include "read-cache-ll.h" #include "read-cache-ll.h"
#include "trace.h" #include "trace.h"
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);
/* /*
* Check if refresh_fsmonitor has been called at least once. * Check if refresh_fsmonitor has been called at least once.
* refresh_fsmonitor is idempotent. Returns true if fsmonitor is * refresh_fsmonitor is idempotent. Returns true if fsmonitor is

View file

@ -3,6 +3,7 @@
#include "environment.h" #include "environment.h"
#include "gettext.h" #include "gettext.h"
#include "name-hash.h" #include "name-hash.h"
#include "read-cache-ll.h"
#include "repository.h" #include "repository.h"
#include "sparse-index.h" #include "sparse-index.h"
#include "tree.h" #include "tree.h"
@ -11,7 +12,7 @@
#include "cache-tree.h" #include "cache-tree.h"
#include "config.h" #include "config.h"
#include "dir.h" #include "dir.h"
#include "fsmonitor.h" #include "fsmonitor-ll.h"
struct modify_index_context { struct modify_index_context {
struct index_state *write; struct index_state *write;