diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-09-04 12:37:45 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-09-04 12:39:32 -0700 |
commit | dab76d3aa682a340e886df84da33326368c38633 (patch) | |
tree | 411ed9ca9713a519d7c8a6fd4ce0a7bb5b87b3b7 /builtin/receive-pack.c | |
parent | 5e838ea7aa74dfbc9820bcf798c0f118e91532f9 (diff) | |
download | git-dab76d3aa682a340e886df84da33326368c38633.tar.gz |
transfer.fsckobjects: unify fetch/receive.fsckobjects
This single variable can be used to set instead of setting fsckobjects
variable for fetch & receive independently.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/receive-pack.c')
-rw-r--r-- | builtin/receive-pack.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 0559fcc871..021ea65f07 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -23,7 +23,8 @@ static int deny_deletes; static int deny_non_fast_forwards; static enum deny_action deny_current_branch = DENY_UNCONFIGURED; static enum deny_action deny_delete_current = DENY_UNCONFIGURED; -static int receive_fsck_objects; +static int receive_fsck_objects = -1; +static int transfer_fsck_objects = -1; static int receive_unpack_limit = -1; static int transfer_unpack_limit = -1; static int unpack_limit = 100; @@ -77,6 +78,11 @@ static int receive_pack_config(const char *var, const char *value, void *cb) return 0; } + if (strcmp(var, "transfer.fsckobjects") == 0) { + transfer_fsck_objects = git_config_bool(var, value); + return 0; + } + if (!strcmp(var, "receive.denycurrentbranch")) { deny_current_branch = parse_deny_action(var, value); return 0; @@ -586,6 +592,11 @@ static const char *unpack(void) struct pack_header hdr; const char *hdr_err; char hdr_arg[38]; + int fsck_objects = (receive_fsck_objects >= 0 + ? receive_fsck_objects + : transfer_fsck_objects >= 0 + ? transfer_fsck_objects + : 0); hdr_err = parse_pack_header(&hdr); if (hdr_err) @@ -598,7 +609,7 @@ static const char *unpack(void) int code, i = 0; const char *unpacker[4]; unpacker[i++] = "unpack-objects"; - if (receive_fsck_objects) + if (fsck_objects) unpacker[i++] = "--strict"; unpacker[i++] = hdr_arg; unpacker[i++] = NULL; @@ -618,7 +629,7 @@ static const char *unpack(void) keeper[i++] = "index-pack"; keeper[i++] = "--stdin"; - if (receive_fsck_objects) + if (fsck_objects) keeper[i++] = "--strict"; keeper[i++] = "--fix-thin"; keeper[i++] = hdr_arg; |