Move deny_non_fast_forwards handling completely into receive-pack.
[gitweb.git] / receive-pack.c
index ea2dbd4e3398ca90823dcd453cbb52c5dcea135c..f2b1c29bd763fcfec45be05e9f56b7c4f5503995 100644 (file)
@@ -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 */