diff options
author | Shawn Pearce <spearce@spearce.org> | 2006-10-30 17:35:18 -0500 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-10-30 19:35:16 -0800 |
commit | 6fb75bed5c4a6ce099a24e581ea327e9de3ab8b0 (patch) | |
tree | c110b1b0d4a2d4a6bdaf4d957d9da9b6115b1efb /receive-pack.c | |
parent | 79a65697be00f3b53430930078a7d34b591d5070 (diff) | |
download | git-6fb75bed5c4a6ce099a24e581ea327e9de3ab8b0.tar.gz |
Move deny_non_fast_forwards handling completely into receive-pack.
The 'receive.denynonfastforwards' option has nothing to do with
the repository format version. Since receive-pack already uses
git_config to initialize itself before executing any updates we
can use the normal configuration strategy and isolate the receive
specific variables away from the core variables.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'receive-pack.c')
-rw-r--r-- | receive-pack.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/receive-pack.c b/receive-pack.c index ea2dbd4e33..f2b1c29bd7 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) { if (capabilities_sent) @@ -338,6 +352,8 @@ int main(int argc, char **argv) if(!enter_repo(dir, 0)) die("'%s': unable to chdir or not a git archive", dir); + git_config(receive_pack_config); + write_head_info(); /* EOF */ |