diff options
Diffstat (limited to 'receive-pack.c')
-rw-r--r-- | receive-pack.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/receive-pack.c b/receive-pack.c index 1fcf3a9112..de1d6a4b1c 100644 --- a/receive-pack.c +++ b/receive-pack.c @@ -9,11 +9,25 @@ static const char receive_pack_usage[] = "git-receive-pack <git-dir>"; static const char *unpacker[] = { "unpack-objects", NULL }; +static int deny_non_fast_forwards = 0; static int report_status; static char capabilities[] = "report-status"; static int capabilities_sent; +static int receive_pack_config(const char *var, const char *value) +{ + git_default_config(var, value); + + if (strcmp(var, "receive.denynonfastforwards") == 0) + { + deny_non_fast_forwards = git_config_bool(var, value); + return 0; + } + + return 0; +} + static int show_ref(const char *path, const unsigned char *sha1, int flag, void *cb_data) { if (capabilities_sent) @@ -279,7 +293,7 @@ int main(int argc, char **argv) die("'%s': unable to chdir or not a git archive", dir); setup_ident(); - git_config(git_default_config); + git_config(receive_pack_config); write_head_info(); |