aboutsummaryrefslogtreecommitdiff
path: root/config.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-06-18 15:18:44 -0700
committerJunio C Hamano <gitster@pobox.com>2008-06-18 16:50:35 -0700
commitaafe9fbaf4f1d1f27a6f6e3eb3e246fff81240ef (patch)
tree86e98a12cfeef6ed0cb1ab622dcdb8b9ace926ca /config.c
parent1141f4925c3f1d7c8cc476b10107209e56909c6d (diff)
downloadgit-aafe9fbaf4f1d1f27a6f6e3eb3e246fff81240ef.tar.gz
git-aafe9fbaf4f1d1f27a6f6e3eb3e246fff81240ef.tar.xz
Add config option to enable 'fsync()' of object files
As explained in the documentation[*] this is totally useless on filesystems that do ordered/journalled data writes, but it can be a useful safety feature on filesystems like HFS+ that only journal the metadata, not the actual file contents. It defaults to off, although we could presumably in theory some day auto-enable it on a per-filesystem basis. [*] Yes, I updated the docs for the thing. Hell really _has_ frozen over, and the four horsemen are probably just beyond the horizon. EVERYBODY PANIC! Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'config.c')
-rw-r--r--config.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/config.c b/config.c
index 9d14a74f8..b2d5b4e4e 100644
--- a/config.c
+++ b/config.c
@@ -460,6 +460,11 @@ static int git_default_core_config(const char *var, const char *value)
return 0;
}
+ if (!strcmp(var, "core.fsyncobjectfiles")) {
+ fsync_object_files = git_config_bool(var, value);
+ return 0;
+ }
+
/* Add other config variables here and to Documentation/config.txt. */
return 0;
}