2

我已经开始评估一款名为subgit的软件,它可以让你无缝地将一个 repo 与 SVN 或 GIT 连接起来。

在我们的整个组织中,我们使用 apache 连接我们的 repos,并且尝试将其与 GIT 结合起来变得有些麻烦。

总的来说,我们希望允许在没有身份验证的情况下进行读取访问,并且应该对写入进行身份验证,这在 SVN 中可以正常工作,但在 GIT 中似乎没有那么简单。

除此之外,让 apache 识别它是否是 GIT/SVN 请求并找出指向客户端的位置,这样无论您使用什么回购系统,您都可以使用相同的 url。

下面是配置,现在我们对 svn 具有正确的读取访问权限,没有身份验证,并且使用身份验证进行写入访问,但对于 GIT,它是没有身份验证的 r/w。

ServerName android.subgit.domain.tld
DocumentRoot /home/subgit/public_html
CustomLog /home/subgit/logs/access_log combined
SetEnv GIT_PROJECT_ROOT /home/subgit/repos/subgit-repo
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER $REDIRECT_REMOTE_USER
ScriptAlias /git/ /usr/local/libexec/git-core/git-http-backend/
   <LocationMatch "/svn">
      DAV svn
      SVNPath /home/subgit/repos/subgit-repo
      Include /etc/apache2/conf.d/auth-mysql
      AuthzSVNAccessFile /home/subgit/etc/subgit-repo
      <LimitExcept GET PROPFIND OPTIONS REPORT>
          Require valid-user
      </LimitExcept>
   </LocationMatch>
   <LocationMatch "/git">
      Options +ExecCGI
   </LocationMatch>
   <Directory "/usr/local/libexec/git-core/git-receive-pack">
     Include /etc/apache2/conf.d/auth-mysql
     Require valid-user
   </Directory>
</VirtualHost>

任何输入将不胜感激!

4

0 回答 0