我无法让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,它就开始工作了。