diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-03-28 13:52:28 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-03-28 13:52:28 -0700 |
commit | fd7c41ec9745a4df199492b1736c9821b6c1028f (patch) | |
tree | b12b923e73d96c11211386bd2b4a627306cfe17f /builtin/receive-pack.c | |
parent | fb0ab976c6ffcea3b7b15dd668c6cac2e4e3bdc9 (diff) | |
parent | dce96c41f9d11280ba25ca3927f3e627f03eaf86 (diff) | |
download | git-fd7c41ec9745a4df199492b1736c9821b6c1028f.tar.gz |
Merge branch 'rs/update-hook-optim' into maint
Code clean-up.
* rs/update-hook-optim:
receive-pack: simplify run_update_post_hook()
Diffstat (limited to 'builtin/receive-pack.c')
-rw-r--r-- | builtin/receive-pack.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 8672825e2e..b618d52139 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -1125,25 +1125,22 @@ static const char *update(struct command *cmd, struct shallow_info *si) static void run_update_post_hook(struct command *commands) { struct command *cmd; - int argc; struct child_process proc = CHILD_PROCESS_INIT; const char *hook; hook = find_hook("post-update"); - for (argc = 0, cmd = commands; cmd; cmd = cmd->next) { - if (cmd->error_string || cmd->did_not_exist) - continue; - argc++; - } - if (!argc || !hook) + if (!hook) return; - argv_array_push(&proc.args, hook); for (cmd = commands; cmd; cmd = cmd->next) { if (cmd->error_string || cmd->did_not_exist) continue; + if (!proc.args.argc) + argv_array_push(&proc.args, hook); argv_array_push(&proc.args, cmd->ref_name); } + if (!proc.args.argc) + return; proc.no_stdin = 1; proc.stdout_to_stderr = 1; |