summaryrefslogtreecommitdiff
path: root/builtin/push.c
diff options
context:
space:
mode:
authorAaron Schrab <aaron@schrab.com>2013-01-13 05:17:03 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-01-18 19:13:22 (GMT)
commitec55559f937727bcb0fa8a3dfe6af68c188e968a (patch)
treec77a367930b6be70b01348c443fd09c4a1e8e836 /builtin/push.c
parent5a7da2dca166fab74f4514697e26dd80e79933f5 (diff)
downloadgit-ec55559f937727bcb0fa8a3dfe6af68c188e968a.zip
git-ec55559f937727bcb0fa8a3dfe6af68c188e968a.tar.gz
git-ec55559f937727bcb0fa8a3dfe6af68c188e968a.tar.bz2
push: Add support for pre-push hooks
Add support for a pre-push hook which can be used to determine if the set of refs to be pushed is suitable for the target repository. The hook is run with two arguments specifying the name and location of the destination repository. Information about what is to be pushed is provided by sending lines of the following form to the hook's standard input: <local ref> SP <local sha1> SP <remote ref> SP <remote sha1> LF If the hook exits with a non-zero status, the push will be aborted. This will allow the script to determine if the push is acceptable based on the target repository and branch(es), the commits which are to be pushed, and even the source branches in some cases. Signed-off-by: Aaron Schrab <aaron@schrab.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/push.c')
-rw-r--r--builtin/push.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin/push.c b/builtin/push.c
index 8491e43..b158028 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -407,6 +407,7 @@ int cmd_push(int argc, const char **argv, const char *prefix)
OPT_BOOL(0, "progress", &progress, N_("force progress reporting")),
OPT_BIT(0, "prune", &flags, N_("prune locally removed refs"),
TRANSPORT_PUSH_PRUNE),
+ OPT_BIT(0, "no-verify", &flags, N_("bypass pre-push hook"), TRANSPORT_PUSH_NO_HOOK),
OPT_END()
};