Skip to contentSkip to conversation

Object Permissions - trying git-init --shared=group parameters

DISCUSSION Pete/Piet Delaney 2 participants 2 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Junio C Hamano wrote:

| Pete/Piet Delaney <[email protected]> writes:
|
|> I've been trying to us the git repo in a
|> centralize pull, push model where the
|> developers pull the repo, checkout a
|> branch, commit and then push back to the
|> common repo.
|>
|> Problem is that the objects get set with
|> the ownership of the user (at least when
|> pulling with this format:
|>
|> ~    git clone git:/home/git/blux
|>
|> Amy suggestions on how to do this?
|
| "man git-config" and look for core.sharedrepository, perhaps?

That's kinda what I'm trying. I did a git-init --shared=group and found that it set:

	[core]
~        	repositoryformatversion = 0
~        	filemode = true
~        	bare = false
~        	logallrefupdates = true
~        	sharedrepository = 1

[receive]
~ denyNonFastforwards = true

So I looked int the meaning of these config prams and thought I tried adding:

sharedrepository = 1

denyNonFastforwards = true

to the bare repo on the git server. I'm not sure if existing repo that have been cloned will have to be updated, hopefully not.

- -piet

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHvfXuJICwm/rv3hoRAl+PAJ9M/dRAuWRjs8gUvq1w3JqeH8/tNgCdFbto iaqrDyOefH4zTEK8Zzximu4=
=xJM3
-----END PGP SIGNATURE-----

#1 lore raw
Quoted 10 lines · Pete/Piet Delaney

So I looked int the meaning of these config prams and thought I tried adding:

sharedrepository = 1

denyNonFastforwards = true

to the bare repo on the git server. I'm not sure if existing repo that have been cloned will have to be updated, hopefully not.

You would at least make sure the directories there that was created while the repository was misconfigured can be writable by group members (i.e. permissions no stricter than drwxrws---) and owned by the group. Something like

mode=2775 ;# 2770 if closed to non-members chgrp -R $group $GIT_DIR
find $GIT_DIR -type d -print0 | xargs -0 chmod $mode