Git allows to create a shared repository amongs a group:
git --bare init --shared=group
However - how can I change already existing repository to shared? I don't want to re-git-init it.
Git allows to create a shared repository amongs a group:
git --bare init --shared=group
However - how can I change already existing repository to shared? I don't want to re-git-init it.
According to the documentation:
--shared[=(false|true|umask|group|all|world|everybody|0xxx)]
Specify that the git repository is to be shared amongst several users. This allows users belonging to the same group to push into that repository. When specified, the config variable "core.sharedRepository" is set so that files and directories under
$GIT_DIRare created with the requested permissions. When not specified, git will use permissions reported by umask(2).
Therefore, in order to change the permission, chmod everything to your liking, and set the core.sharedRepository in git config accordingly:
git config core.sharedRepository true
To make a private bare repo group shared:
sharedRepository = group to the core sectionchgrp -R target-group .find . -type d | xargs chmod g+wsfind refs -type f | xargs chmod g+w