From b1bf95bba26c8de1581f401dcab1f743bad7fc1d Mon Sep 17 00:00:00 2001 From: Josef Weidendorfer Date: Sun, 31 Jul 2005 21:17:43 +0200 Subject: [PATCH] Added hook in git-receive-pack Just before updating a ref, $GIT_DIR/hooks/update refname old-sha1 new-sha1 is called if executable. The hook can decline the ref to be updated by exiting with a non-zero status, or allow it to be updated by exiting with a zero status. The mechanism also allows e.g sending of a mail with pushed commits on the remote repository. Documentation update with an example hook is included. jc: The credits of the basic idea and initial implementation go to Josef, but I ended up rewriting major parts of his patch, so bugs are all mine. Also I changed the semantics for the hook from his original version (which were post-update hook) so that the hook can optionally decline to update the ref, and also can be used to implement the overall cleanups. The latter was primarily to implement a suggestion from Linus that calling update-server-info should be made optional. Signed-off-by: Junio C Hamano --- run-command.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 run-command.h (limited to 'run-command.h') diff --git a/run-command.h b/run-command.h new file mode 100644 index 0000000000..4f646139e5 --- /dev/null +++ b/run-command.h @@ -0,0 +1,16 @@ +#ifndef RUN_COMMAND_H +#define RUN_COMMAND_H + +#define MAX_RUN_COMMAND_ARGS 256 +enum { + ERR_RUN_COMMAND_FORK = 10000, + ERR_RUN_COMMAND_EXEC, + ERR_RUN_COMMAND_WAITPID, + ERR_RUN_COMMAND_WAITPID_WRONG_PID, + ERR_RUN_COMMAND_WAITPID_SIGNAL, + ERR_RUN_COMMAND_WAITPID_NOEXIT, +}; + +int run_command(const char *cmd, ...); + +#endif -- cgit v1.3-5-g9baa