我安装了redmine的Ubuntu 10.04服务器并且还安装了git,我使用的是gitolite。
当我从用户PC推送到服务器时,一切正常,关于git的观点。但是要从redmine中查看存储库,每次我需要运行:chmod o+rw -R /path/to/the/repository/folder
然后我可以从redmine看到存储库。但是每次我推送到服务器时这都很烦人。
我想自己做一个cron-job工作,但我认为这不是一个干净的解决方案。
答案 0 :(得分:4)
git config core.sharedRepository all
当
group
(或true
)时,存储库可在组中的多个用户之间共享(确保所有文件和对象都是可写组的)。当all
(或world
或everybody
)时,除了可分组之外,所有用户都可以读取存储库。当umask
(或false
)时,git将使用umask(2)报告的权限。当0xxx
,其中0xxx
是八进制数时,存储库中的文件将具有此模式值。0xxx
将覆盖用户的umask值(而其他选项将仅覆盖用户的umask值的请求部分)。示例:0660
将使所有者和群组可以读/写,但其他人无法访问(相当于group
,除非umask是例如0022
)。0640
是一个可读取组但不可写入组的存储库。请参阅git-init(1)。默认为假。
答案 1 :(得分:4)
要让Redmine访问所有gitolite托管的存储库,您需要修改$HOME/.gitolite.rc
:
$REPO_UMASK = 0027; #=> 'rwxr-x---'
# use 0022 instead to give rx permissions to others (not recommended)
然后将运行托管redmine的Web服务器的用户添加到'gitolite'组
最后,做chmod -R g+rx $HOME/repositories
在Gitolite "rc
" file查看更多文档。