Subject: Re: git push default behaviour?

From: Jakub Narebski <[email-masked]>
Date: Wed, 14 Mar 2012 18:16:06 +0100

Could you please do not top-post?  TIA.

Jeremy Morton wrote:
> On Tue, Mar 13, 2012 at 4:27 PM, Jakub Narebski <[email-masked]> wrote:
> > On Thu, 8 Mar 2012, Jeremy Morton wrote:
> >> On Thu, Mar 8, 2012 at 11:33 AM, Jakub Narebski <[email-masked]> wrote:
> >
> >> > You can always configure server to refuse forced pushes.
> >>
> >> We're using github, and as far as I'm aware, there's no way to
> >> configure github to do that.
> >
> > It would be nice if GitHub supported setting receive.denyNonFastForward
> > and receive.denyDeletes (the receive.*current* do not matter for GitHub).
> > Though I am not sure if it would not require changes to the custom Git
> > implementation they use...
>
> Would that deny non fast-forwards for all branches, though, or just
> selected ones?  We'd like to just to it for 2 of our branches.  We'd
> also like to explitly ALLOW fast-forwards to master, when we want to
> merge in from develop to master.

No, receive.denyNonFastForward is for all branches only.  If you want
per-branch access control, try gitolite... again not available on GitHub
(unless GitHub allows custom hooks).
 
> A better description of what we want is to prevent 'rewriting of
> history' for some of our branches.

C.f. http://thread.gmane.org/gmane.comp.version-control.git/189895
     http://thread.gmane.org/gmane.comp.version-control.git/189946/focus=191119

Though that is only a proposal and a prototype.
-- 
Jakub Narebski
Poland