MCPcopy Index your code
hub / github.com/git/git / write_fsmonitor_extension

Function write_fsmonitor_extension

fsmonitor.c:121–154  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

119}
120
121void write_fsmonitor_extension(struct strbuf *sb, struct index_state *istate)
122{
123 uint32_t hdr_version;
124 uint32_t ewah_start;
125 uint32_t ewah_size = 0;
126 int fixup = 0;
127
128 if (!istate->split_index)
129 assert_index_minimum(istate, istate->fsmonitor_dirty->bit_size);
130
131 put_be32(&hdr_version, INDEX_EXTENSION_VERSION2);
132 strbuf_add(sb, &hdr_version, sizeof(uint32_t));
133
134 strbuf_addstr(sb, istate->fsmonitor_last_update);
135 strbuf_addch(sb, 0); /* Want to keep a NUL */
136
137 fixup = sb->len;
138 strbuf_add(sb, &ewah_size, sizeof(uint32_t)); /* we'll fix this up later */
139
140 ewah_start = sb->len;
141 ewah_serialize_strbuf(istate->fsmonitor_dirty, sb);
142 ewah_free(istate->fsmonitor_dirty);
143 istate->fsmonitor_dirty = NULL;
144
145 /* fix up size field */
146 put_be32(&ewah_size, sb->len - ewah_start);
147 memcpy(sb->buf + fixup, &ewah_size, sizeof(uint32_t));
148
149 trace2_data_string("index", NULL, "extension/fsmn/write/token",
150 istate->fsmonitor_last_update);
151 trace_printf_key(&trace_fsmonitor,
152 "write fsmonitor extension successful '%s'",
153 istate->fsmonitor_last_update);
154}
155
156/*
157 * Call the query-fsmonitor hook passing the last update token of the saved results.

Callers 1

do_write_indexFunction · 0.85

Calls 7

assert_index_minimumFunction · 0.85
put_be32Function · 0.85
strbuf_addFunction · 0.85
strbuf_addstrFunction · 0.85
strbuf_addchFunction · 0.85
ewah_serialize_strbufFunction · 0.85
ewah_freeFunction · 0.85

Tested by

no test coverage detected