Skip to contentSkip to conversation

disable branch modification

DISCUSSION Ishaaq Chandy 3 participants 3 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

Hi all,
I've got a remote git repository that I want multiple users to be able to push to. This is all set up fine and working beautifully. The only thing is, I want to be able to lock down the branches on this remote repo, once set up users should not be able to:

1. Create new branches on it
2. Delete existing branches from it
3. push non-fast-forward commits to it.

I think I'll need to write a pre-receive hook for this, but before I embark on this, any helpful pointers would be appreciated.

Thanks,
Ishaaq

Signature · 2 lines
View this message in context: http://www.nabble.com/disable-branch-modification-tp24550469p24550469.html
Sent from the git mailing list archive at Nabble.com.
#1 lore raw
Quoted 6 lines · Ishaaq Chandy

Hi all,
I've got a remote git repository that I want multiple users to be able to push to. This is all set up fine and working beautifully. The only thing is, I want to be able to lock down the branches on this remote repo, once set up users should not be able to:

Quoted 7 lines

1. Create new branches on it
2. Delete existing branches from it
3. push non-fast-forward commits to it.

I think I'll need to write a pre-receive hook for this, but before I embark on this, any helpful pointers would be appreciated.

I did this once so that users could only push to branches in a namespace beginning with their username, so the user "hgb" could only write to "hgb/master" and never to "master" directly (for example). This provides maximum freedom to the users while making sure they never muck about with any "official" branches.

The script to accomplish this is, alas, lost.

Denying non-fast-forwards even if --force is in effect is a config option these days, I think.

Signature · 7 lines
Andreas Ericsson                   [email protected]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.
#2 lore raw
In reply to Ishaaq Chandy
Quoted 2 lines · Ishaaq Chandy

1. Create new branches on it
2. Delete existing branches from it

You cannot have these.

Quoted 4 lines

3. push non-fast-forward commits to it.

I think I'll need to write a pre-receive hook for this, but before I embark on this, any helpful pointers would be appreciated.

Look in the mailing list archives for pre-receive, update and SSH, there were some good examples of update and pre-receive posted. Also, there is contrib/hooks/update-paranoid in Git repo. It implements an ACL per SSH user.