Redmine git 集成 - 从 redmine 访问 git 时出现问题,但从外部 git 客户端访问时却无法访问

Redmine git 集成 - 从 redmine 访问 git 时出现问题,但从外部 git 客户端访问时却无法访问

我已经按照 redmine 文档中的说明设置了 redmine 与 apache 的集成。我有一个可通过 auth 访问的 /git 路径和仅 redmine 可访问的 /git-private。当我通过 /git 路径克隆存储库时,我获得了最新的存储库。但是当我尝试在 redmine 存储库查看器中查看它时,我收到 404“存储库中未找到条目或修订版。”错误。尝试使用 redmine 框中的 git-private url 进行克隆会给出一个裸存储库,尽管它与通过 /git 路径克隆的存储库相同。我已在 /git 路径中启用了 RedmineGitSmartHttp。这里可能是什么问题?

PerlLoadModule Apache::Redmine

SetEnv GIT_PROJECT_ROOT /path/to/git/root
SetEnv GIT_HTTP_EXPORT_ALL

ScriptAlias /git/ /usr/lib/git-core/git-http-backend/

<Location /git>
      AuthType Basic
      Require valid-user
      AuthName "Git"

      PerlAccessHandler Apache::Authn::Redmine::access_handler
      PerlAuthenHandler Apache::Authn::Redmine::authen_handler

      RedmineDSN "DBI:mysql:database=<dbname>;host=<db host>" 
      RedmineDbUser "<user>" 
      RedmineDbPass "<password" 

      RedmineGitSmartHttp yes
</Location>

<Location /git-private>
      Order deny,allow
      Deny from all

     <Limit GET PROPFIND OPTIONS REPORT>
        Options Indexes FollowSymLinks MultiViews
         Allow from <redmine public ip>
         Allow from <redmine pvt ip>
         Allow from <localhost>
     </Limit>
</Location>

答案1

Redmine 无法通过 HTTP 访问 git 存储库。它总是需要直接文件系统访问裸 git 存储库,以便在存储库选项卡上显示其内容。因此,您的/git-private构造将根本无法工作(尽管可以使用 Subversion 完成类似操作)

因此,在Redmine的存储库设置中,您必须输入文件系统路径到裸 git 存储库,而不是 URL。

相关内容