Support of "make -s": do not output anything of the build itself
[gitweb.git] / receive-pack.c
index b3a45526923772acc1cd0efea1523d0ace03487a..7f1dcc045c0818db3d515755e4bf1ae0d82f9647 100644 (file)
@@ -10,6 +10,8 @@
 static const char receive_pack_usage[] = "git-receive-pack <git-dir>";
 
 static int deny_non_fast_forwards = 0;
+static int receive_unpack_limit = -1;
+static int transfer_unpack_limit = -1;
 static int unpack_limit = 100;
 static int report_status;
 
@@ -18,21 +20,22 @@ 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)
-       {
+       if (strcmp(var, "receive.denynonfastforwards") == 0) {
                deny_non_fast_forwards = git_config_bool(var, value);
                return 0;
        }
 
-       if (strcmp(var, "receive.unpacklimit") == 0)
-       {
-               unpack_limit = git_config_int(var, value);
+       if (strcmp(var, "receive.unpacklimit") == 0) {
+               receive_unpack_limit = git_config_int(var, value);
                return 0;
        }
 
-       return 0;
+       if (strcmp(var, "transfer.unpacklimit") == 0) {
+               transfer_unpack_limit = git_config_int(var, value);
+               return 0;
+       }
+
+       return git_default_config(var, value);
 }
 
 static int show_ref(const char *path, const unsigned char *sha1, int flag, void *cb_data)
@@ -106,7 +109,7 @@ static int update(struct command *cmd)
        struct ref_lock *lock;
 
        cmd->error_string = NULL;
-       if (!strncmp(name, "refs/", 5) && check_ref_format(name + 5)) {
+       if (!prefixcmp(name, "refs/") && check_ref_format(name + 5)) {
                cmd->error_string = "funny refname";
                return error("refusing to create funny ref '%s' locally",
                             name);
@@ -122,7 +125,7 @@ static int update(struct command *cmd)
        }
        if (deny_non_fast_forwards && !is_null_sha1(new_sha1) &&
            !is_null_sha1(old_sha1) &&
-           !strncmp(name, "refs/heads/", 11)) {
+           !prefixcmp(name, "refs/heads/")) {
                struct commit *old_commit, *new_commit;
                struct commit_list *bases, *ent;
 
@@ -426,11 +429,13 @@ int main(int argc, char **argv)
        if (is_repository_shallow())
                die("attempt to push into a shallow repository");
 
-       setup_ident();
-       /* don't die if gecos is empty */
-       ignore_missing_committer_name();
        git_config(receive_pack_config);
 
+       if (0 <= transfer_unpack_limit)
+               unpack_limit = transfer_unpack_limit;
+       else if (0 <= receive_unpack_limit)
+               unpack_limit = receive_unpack_limit;
+
        write_head_info();
 
        /* EOF */