summaryrefslogtreecommitdiff
path: root/builtin/receive-pack.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-02-20 00:14:50 -0800
committerJunio C Hamano <gitster@pobox.com>2012-02-20 00:14:50 -0800
commit13dd790bbe658e03e429d91b8babe3a284663d6e (patch)
treedff8806ee48d8cb38539c68b9c58816b1c6decfd /builtin/receive-pack.c
parent030a360849e9cb2b3c408cbf9d8c980f3aae5868 (diff)
parentef7e93d90866e91bba5ff7f274c49dc44427a8ff (diff)
downloadgit-13dd790bbe658e03e429d91b8babe3a284663d6e.tar.gz
Merge branch 'cb/receive-pack-keep-errors'
* cb/receive-pack-keep-errors: do not override receive-pack errors
Diffstat (limited to 'builtin/receive-pack.c')
-rw-r--r--builtin/receive-pack.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c
index fa7448be5a..0afb8b2896 100644
--- a/builtin/receive-pack.c
+++ b/builtin/receive-pack.c
@@ -642,8 +642,10 @@ static void check_aliased_updates(struct command *commands)
}
sort_string_list(&ref_list);
- for (cmd = commands; cmd; cmd = cmd->next)
- check_aliased_update(cmd, &ref_list);
+ for (cmd = commands; cmd; cmd = cmd->next) {
+ if (!cmd->error_string)
+ check_aliased_update(cmd, &ref_list);
+ }
string_list_clear(&ref_list, 0);
}
@@ -707,8 +709,10 @@ static void execute_commands(struct command *commands, const char *unpacker_erro
set_connectivity_errors(commands);
if (run_receive_hook(commands, pre_receive_hook, 0)) {
- for (cmd = commands; cmd; cmd = cmd->next)
- cmd->error_string = "pre-receive hook declined";
+ for (cmd = commands; cmd; cmd = cmd->next) {
+ if (!cmd->error_string)
+ cmd->error_string = "pre-receive hook declined";
+ }
return;
}
@@ -717,9 +721,15 @@ static void execute_commands(struct command *commands, const char *unpacker_erro
free(head_name_to_free);
head_name = head_name_to_free = resolve_refdup("HEAD", sha1, 0, NULL);
- for (cmd = commands; cmd; cmd = cmd->next)
- if (!cmd->skip_update)
- cmd->error_string = update(cmd);
+ for (cmd = commands; cmd; cmd = cmd->next) {
+ if (cmd->error_string)
+ continue;
+
+ if (cmd->skip_update)
+ continue;
+
+ cmd->error_string = update(cmd);
+ }
}
static struct command *read_head_info(void)