【问题标题】:mercurial hgweb.config do not find repositories, path issuemercurial hgweb.config 找不到存储库,路径问题
【发布时间】:2011-08-24 08:31:49
【问题描述】:

我使用在我的 apache2.conf 文件中声明的 hgweb.cgi 脚本在 apache Web 服务器上设置了一个存储库,如下所示:

ScriptAlias /hgp "/var/www/hgrepublic/hgweb.cgi"

在我的 hgweb.cgi 脚本中,如果我将配置变量设置为存储库的路径:

config = "/var/www/hgrepublic/fakecake"

它有效,我在 http://localhost/hgp 看到了我的存储库的历史记录

现在如果我想使用 hgweb.config 文件,我在 hgweb.cgi 脚本中设置 config 变量,如下所示:

config = "hgweb.config"

无论我尝试在配置文件中使用什么路径,我都无法在 Web 界面中看到我的存储库(空存储库索引)。以下是我尝试使用绝对路径和相对路径的几个示例

[paths]
/ = /var/www/hgrepublic/**
fakecake = /fakecake
fakecake = /var/www/hgrepublic/fakecake

有什么想法可以帮助我使用配置文件吗? (我想在配置文件中声明几个存储库)

注意:hgweb cgi 和配置文件位于 /var/www/hgrepublic/ 文件夹以及 fakecake 存储库文件夹中。

【问题讨论】:

    标签: mercurial hgweb


    【解决方案1】:

    通过查看源代码,我找到了自己问题的解决方案。

    我在 hgweb.cgi 文件中使用了一个 dict 来传递我想要显示的不同存储库:

    config = {'repo1' : '/path/to/repo1', 'repo2' : '/path/to/repo2'}
    

    它是这样工作的,所以我认为 hgweb.config 文件中的 [paths] 部分可能存在解析问题?

    【讨论】:

      【解决方案2】:

      [paths] 部分将 URL 转换为存储库路径。试试:

      hgweb.config

      [paths]
      /hpg/fakecake = /var/www/hgrepublic/fakecake
      /hpg/repo2 = /var/www/hgrepublic/repo2
      

      hgweb.cgi

      config = "hgweb.cgi"  # or /path/to/hgweb.cgi if not in cwd
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-09-27
        • 2021-02-27
        • 2011-08-08
        • 2021-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多