配置 hgweb.cgi 来为 Mercurial 存储库提供服务时的回溯

配置 hgweb.cgi 来为 Mercurial 存储库提供服务时的回溯

我无法让hgweb.cgi脚本成功读取我的hgweb.config文件。脚本失败并显示错误Abort: /var/www/hg/hgweb.config: not a Mercurial bundle file。详情如下

/var/www/hg/hgweb.config

[collections]
/ = /home/danish/repos/hg/

[web]
baseurl = /hg
style = git-web

错误详情

Traceback (most recent call last):
  File "hgweb.cgi", line 17, in <module>
    application = hgweb(config)
  File "/usr/lib/pymodules/python2.6/mercurial/hgweb/__init__.py", line 12, in hgweb
    return hgweb_mod.hgweb(*args, **kwargs)
  File "/usr/lib/pymodules/python2.6/mercurial/hgweb/hgweb_mod.py", line 30, in __init__
    self.repo = hg.repository(u, repo)
  File "/usr/lib/pymodules/python2.6/mercurial/hg.py", line 63, in repository
    repo = _lookup(path).instance(ui, path, create)
  File "/usr/lib/pymodules/python2.6/mercurial/bundlerepo.py", line 303, in instance
    return bundlerepository(ui, repopath, bundlename)
  File "/usr/lib/pymodules/python2.6/mercurial/bundlerepo.py", line 175, in __init__
    raise util.Abort(_("%s: not a Mercurial bundle file") % bundlename)
Abort: /var/www/hg/hgweb.config: not a Mercurial bundle file

答案1

事实证明,我使用的是旧版本的 Mercurial,其中包含最新的合并 hgweb.cgi 脚本。我的 Ubuntu 10.04 上的 Mercurial 标准安装附带了一个落后 4 个版本的版本。

一旦我升级了我的 Mercurial,它就开始工作了。

相关内容