git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Propagating push options to remote hooks
@ 2016-01-30 18:28 Dennis Kaarsemaker
  2016-01-30 18:28 ` [PATCH 1/3] connect.[ch]: make parse_feature_value non-static Dennis Kaarsemaker
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Dennis Kaarsemaker @ 2016-01-30 18:28 UTC (permalink / raw)
  To: git; +Cc: Dennis Kaarsemaker

I have a few pre-receive hooks that are meant to catch mistakes. They are
fairly strict, as the mistakes it catches can have some serious bad effects.
However, sometimes they get it wrong (and can't really get it right) and it
would be really useful to override them.

Currently I do this by parseing the commit message, looking for 'Force: true',
but it would be very useful if --force were propagated to the hook. Obviously,
making --force skip all remote hooks would be a very bad way of doing this.
Hooks should decide whether --force is respected or not.

Instead of that, we can pass options to receive-pack using a new capability,
and receive-pack can make it available to hooks in their environment. That way
we don't change behaviour of existing hooks and each hook can decide for itself
whether it respects these options.

The initial implementation only passes on --quiet and --force. I've been
thinking of allowing the user of push to specify arbitrary values, but don't
see the value of that yet. It would be easy to add though.

Dennis Kaarsemaker (3):
  connect.[ch]: make parse_feature_value non-static
  receive-pack: add a capability for hook options
  send-pack: propagate --force and --quiet to remote hooks

 Documentation/technical/protocol-capabilities.txt |  9 ++++++
 builtin/receive-pack.c                            | 19 ++++++++++--
 connect.c                                         |  3 +-
 connect.h                                         |  1 +
 send-pack.c                                       | 10 ++++++
 t/t5544-push-hook-options.sh                      | 37 +++++++++++++++++++++++
 6 files changed, 75 insertions(+), 4 deletions(-)
 create mode 100755 t/t5544-push-hook-options.sh

-- 
2.7.0-91-gf04ef09

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-01-30 18:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-30 18:28 [PATCH 0/3] Propagating push options to remote hooks Dennis Kaarsemaker
2016-01-30 18:28 ` [PATCH 1/3] connect.[ch]: make parse_feature_value non-static Dennis Kaarsemaker
2016-01-30 18:28 ` [PATCH 2/3] receive-pack: add a capability for hook options Dennis Kaarsemaker
2016-01-30 18:28 ` [PATCH 3/3] send-pack: propagate --force and --quiet to remote hooks Dennis Kaarsemaker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).