Expand description
Git’s core.fsync value read into the components it flushes.
What:
Git’s core.fsync value read into the set of components it flushes, and the value that keeps every component of a set
except the pack’s own.
Why:
Git flushes only the components core.fsync names, and the wrapper asks the same question for two writes it makes
itself: whether the index it writes in process is flushed, and whether the pack that git fast-import writes for a
landing is flushed. Read from Git 2.56.0 (environment.c, parse_fsync_components; write-or-die.h).
In TS you’d write (pseudocode):
const set = parseFsyncComponents('added,-pack'); // a bit set of components
set.has('index'); // trueStructs§
- Fsync
Components - What:
The components one
core.fsyncvalue makes Git flush. Why: One value type for both questions, so the index writer and the import step cannot disagree about how Git reads the setting.