diff options
author | Josef Weidendorfer <Josef.Weidendorfer@gmx.de> | 2005-07-31 21:17:43 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-07-31 23:30:59 -0700 |
commit | b1bf95bba26c8de1581f401dcab1f743bad7fc1d (patch) | |
tree | 08c71676e67172279e3ac13a76d3eafa20167d68 /run-command.h | |
parent | 9f6cf65e66c441d99f4838b6b74971d48c4efc72 (diff) | |
download | git-b1bf95bba26c8de1581f401dcab1f743bad7fc1d.tar.gz |
[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 <junkio@cox.net>
Diffstat (limited to 'run-command.h')
-rw-r--r-- | run-command.h | 16 |
1 files changed, 16 insertions, 0 deletions
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 |