threads / discuss / 30765

git pre-push hook to restrict master branch push !!!

Subject: git pre-push hook to restrict master branch push !!!

## tl;dr

4 messages between Jun 11, 2012 and Jun 20, 2012.

replies: 3people: 3as markdown or json

J. Bakshi· Jun 11, 2012, 11:18 UTC · lore
Hello list,

I have a central server where git repos are located and based on http base push/pull. authentication is done by a text based password file, generated by htpasswd.

I am searching for a server side hook (pre-push) which can prevent all push to master, except few users found at that password file generated by htpasswd. Is there any such hook available ? Some suggest to use gitolite, but it also based on the hooks to do the same.

Thanks
Sitaram Chamarty· Jun 11, 2012, 12:10 UTC · re: J. Bakshi · lore

Re: git pre-push hook to restrict master branch push !!!

On Mon, Jun 11, 2012 at 4:48 PM, J. Bakshi <joydeep.bakshi@infoservices.in> wrote:

Show 8 quoted lines
> Hello list,
>
> I have a central server where git repos are located and based on http base push/pull.
> authentication is done by a text based password file, generated by htpasswd.
>
> I am searching for a server side hook (pre-push) which can prevent all push to master,
> except few users found at that password file generated by htpasswd. Is there any such hook
> available ? Some suggest to use gitolite, but it also based on the hooks to do the same.
If you don't want to use gitolite, you can roll  your own update hook.
 It can be as simple as
  - check $REMOTE_USER to see if the name is in the "allowed" list
(your choice how you want to maintain that list).  If allowed, 'exit
0".
  - otherwise check $1 (argument 1) to see if it is
"refs/heads/master".  If it is, "exit 1".
How difficult is that?
J. Bakshi· Jun 11, 2012, 12:17 UTC · re: Sitaram Chamarty · lore

Re: git pre-push hook to restrict master branch push !!!

On Mon, 11 Jun 2012 17:40:37 +0530 Sitaram Chamarty <sitaramc@gmail.com> wrote:

Show 21 quoted lines
> On Mon, Jun 11, 2012 at 4:48 PM, J. Bakshi
> <joydeep.bakshi@infoservices.in> wrote:
> > Hello list,
> >
> > I have a central server where git repos are located and based on http base push/pull.
> > authentication is done by a text based password file, generated by htpasswd.
> >
> > I am searching for a server side hook (pre-push) which can prevent all push to master,
> > except few users found at that password file generated by htpasswd. Is there any such hook
> > available ? Some suggest to use gitolite, but it also based on the hooks to do the same.
> 
> If you don't want to use gitolite, you can roll  your own update hook.
>  It can be as simple as
> 
>   - check $REMOTE_USER to see if the name is in the "allowed" list
> (your choice how you want to maintain that list).  If allowed, 'exit
> 0".
>   - otherwise check $1 (argument 1) to see if it is
> "refs/heads/master".  If it is, "exit 1".
> 
> How difficult is that?

Thanks for the clue. I'm not familiar with the hook programming. I'll check further with the clues you have given.

-- with regards.
J. Bakshi· Jun 20, 2012, 12:39 UTC · re: J. Bakshi · lore

Re: git pre-push hook to restrict master branch push !!!

On Mon, 11 Jun 2012 17:47:57 +0530 "J. Bakshi" <joydeep.bakshi@infoservices.in> wrote:

Show 30 quoted lines
> On Mon, 11 Jun 2012 17:40:37 +0530
> Sitaram Chamarty <sitaramc@gmail.com> wrote:
> 
> > On Mon, Jun 11, 2012 at 4:48 PM, J. Bakshi
> > <joydeep.bakshi@infoservices.in> wrote:
> > > Hello list,
> > >
> > > I have a central server where git repos are located and based on http base push/pull.
> > > authentication is done by a text based password file, generated by htpasswd.
> > >
> > > I am searching for a server side hook (pre-push) which can prevent all push to master,
> > > except few users found at that password file generated by htpasswd. Is there any such hook
> > > available ? Some suggest to use gitolite, but it also based on the hooks to do the same.
> > 
> > If you don't want to use gitolite, you can roll  your own update hook.
> >  It can be as simple as
> > 
> >   - check $REMOTE_USER to see if the name is in the "allowed" list
> > (your choice how you want to maintain that list).  If allowed, 'exit
> > 0".
> >   - otherwise check $1 (argument 1) to see if it is
> > "refs/heads/master".  If it is, "exit 1".
> > 
> > How difficult is that?
> 
> Thanks for the clue. I'm not familiar with the hook programming.
> I'll check further with the clues you have given.
> 
> -- with regards.
> --

The refs/heads/master checking is fine. Can I placed this checking in my httpd.conf file to check user against a htpasswd file ?

Thanks

← back to recent threads