So these four patches end up adding support for conditionally enabling
fsync() on loose object creation in the .gitconfig file with something
like
[core]
FsyncObjectFiles = true
which can be useful on filesystems that don't already guarantee data
consistency for other reasons (whether due to ordered writes or due to
full data journalling).
Actually, just the last one adds the fairly trivial feature, the three
first patches are just cleanups of the config parsing that I needed in
order to not gouge my eyes out when looking at the code. The config file
parser is kind of ad-hoc and people have added more and more options to it
without ever trying to clean it up, and I refuse to do that.
The full patch-series is
Split up default "core" config parsing into helper routine
Split up default "user" config parsing into helper routine
Split up default "i18n" and "branch" config parsing into helper
routines
Add config option to enable 'fsync()' of object files
resulting in the following diffstat:
Documentation/config.txt | 8 ++++
cache.h | 1 +
config.c | 82 ++++++++++++++++++++++++++++++++++-----------
environment.c | 1 +
sha1_file.c | 3 +-
5 files changed, 74 insertions(+), 21 deletions(-)
and the patches themselves will follow..
Linus
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html