2

我安装了 redmine 的 Ubuntu 10.04 服务器,还安装了 git,我正在使用 gitolite。

当我从用户 PC 推送到服务器时,一切都很好,关于 git 的观点。但是要从 redmine 中查看存储库,每次我需要运行时:chmod o+rw -R /path/to/the/repository/folder然后我可以从 redmine 中查看存储库。但这很烦人,每次我推送到服务器时都这样做。

我想做一个 cron-job 来自动完成,但我认为这不是一个干净的解决方案。

4

2 回答 2

4
git config core.sharedRepository all

git-config文档中:

group(或true)时,存储库可在组中的多个用户之间共享(确保所有文件和对象都是组可写的)。当all(或worldeverybody)时,所有用户都可以读取存储库,此外还可以组共享。当umask(或false)时,git 将使用 umask(2) 报告的权限。当0xxx, where0xxx是八进制数时,存储库中的文件将具有此模式值。0xxx将覆盖用户的 umask 值(而其他选项只会覆盖用户的 umask 值的请求部分)。示例:0660将使所有者和组可以读/写 repo,但其他人无法访问(相当于group除非 umask 是 eg 0022)。0640是组可读但不可组写的存储库。请参阅 git-init(1)。默认为假。

于 2011-03-05T17:58:40.137 回答
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" 文件中查看更多文档。

于 2011-06-01T12:22:13.393 回答