Re: git: please refuse push containing commits marked for autosquash by default

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: git: please refuse push containing commits marked for autosquash by default

From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:49:08

Hi Simon,

Simon Richter wrote:
When using the --autosquash feature, quite a number of temporary commits
are created that should never be pushed anywhere. It might be a good
idea to have an option to refuse to transfer commits whose messages
start with "fixup!" or "squash!", both on the server and client side.
At first glance this looks very useful, as an optional hook rather
than on by default[1].

It sounds like a good use for hooks.

Receiving side: an update hook should do the trick.  See the githooks
manual page, or /usr/share/doc/git/contrib/hooks/update-paranoid for
an example.

Sending side: there is no pre-push hook yet, but there was some work
towards that about a year and a half ago[2].  Maybe someone interested
could revive the topic or figure out what remains to be done.

Jonathan

[1] Sometimes I send works in progress from one machine to another; it
would be quite unnerving if this resulted in some puzzling message
about how I forgot to rebase first.

[2] http://thread.gmane.org/gmane.comp.version-control.git/92900
http://thread.gmane.org/gmane.comp.version-control.git/128426/focus=128433

Re: git: please refuse push containing commits marked for autosquash by default

From: Jeff King <hidden>
Date: 2016-06-15 22:49:11

On Fri, Jul 16, 2010 at 02:04:32PM -0500, Jonathan Nieder wrote:
quoted
When using the --autosquash feature, quite a number of temporary commits
are created that should never be pushed anywhere. It might be a good
idea to have an option to refuse to transfer commits whose messages
start with "fixup!" or "squash!", both on the server and client side.
At first glance this looks very useful, as an optional hook rather
than on by default[1].
Yeah, from my cursory look, this really seems like policy that should be
going in a hook.
Sending side: there is no pre-push hook yet, but there was some work
towards that about a year and a half ago[2].  Maybe someone interested
could revive the topic or figure out what remains to be done.
If somebody is interested in that, they should read this related thread:

  http://thread.gmane.org/gmane.comp.version-control.git/128273

which talks about a "pre-push" hook that could interactively confirm
push of specific refs. So ideally any pre-push hook interface would not
just be "do the push or not" but would actually be able to munge the
list of commits to push.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help