diff options
author | Jiang Xin <worldhello.net@gmail.com> | 2012-02-28 12:23:26 +0800 |
---|---|---|
committer | Jiang Xin <worldhello.net@gmail.com> | 2012-02-28 12:23:26 +0800 |
commit | 508d1244dc8d38188c70e98207efa8a97d16b47c (patch) | |
tree | fc8688b80be453755f8135df11bf1db2d247725a /builtin/receive-pack.c | |
parent | 0ad9e96d2e2f42f4d2ce7cd612bf741913242bc0 (diff) | |
parent | 25a7850a106ed0f27b88b8ce0b89fd326120dff4 (diff) | |
download | git-508d1244dc8d38188c70e98207efa8a97d16b47c.tar.gz git-508d1244dc8d38188c70e98207efa8a97d16b47c.tar.xz |
Merge branch 'master' into git-po
Diffstat (limited to 'builtin/receive-pack.c')
-rw-r--r-- | builtin/receive-pack.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index fa7448be5..0afb8b289 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) |