diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2006-12-30 21:55:19 -0500 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-12-30 22:22:14 -0800 |
commit | cd83c74cb3161a19b5efd33f40cfe378c2f64ddb (patch) | |
tree | 9d6d657ce34aae3f155d402d4bfaab34a4fcb537 /run-command.h | |
parent | 9b0b50936ec76ad8e582d18d5bf54bc81c685e9b (diff) | |
download | git-cd83c74cb3161a19b5efd33f40cfe378c2f64ddb.tar.gz |
Redirect update hook stdout to stderr.
If an update hook outputs to stdout then that output will be sent
back over the wire to the push client as though it were part of
the git protocol. This tends to cause protocol errors on the
client end of the connection, as the hook output is not expected
in that context. Most hook developers work around this by making
sure their hook outputs everything to stderr.
But hooks shouldn't need to perform such special behavior. Instead
we can just dup stderr to stdout prior to invoking the update hook.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'run-command.h')
-rw-r--r-- | run-command.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/run-command.h b/run-command.h index 82a0861f23..8156eac31b 100644 --- a/run-command.h +++ b/run-command.h @@ -13,8 +13,10 @@ enum { #define RUN_COMMAND_NO_STDIO 1 #define RUN_GIT_CMD 2 /*If this is to be git sub-command */ +#define RUN_COMMAND_STDOUT_TO_STDERR 4 int run_command_v_opt(const char **argv, int opt); int run_command_v(const char **argv); +int run_command_opt(int opt, const char *cmd, ...); int run_command(const char *cmd, ...); #endif |