我对IIS7、Python2.6、Mercurial 1.7.2和hgweb.cgi有一种恼人的体验。
经过一个下午的努力,我终于用hgweb.cgi和IIS7让hgweb.cgi在浏览器中呈现出来了。我现在可以看到web服务器的空白渲染,也就是没有列出存储库的标题。
现在,根据我在搜索谷歌搜索结果后阅读的多个站点,我知道我必须更新我的hgweb.config文件以指向一些存储库。
然而,对于我来说,我不能让它使用路径或集合条目来列出我的存储库。
我有以下目录结构(简化但说明性...):
c:\code c:\code\htmlwriter c:\code\CommandLineProjects\Clean
后两个目录中有mercurial存储库。
我正尝试在c:\code\htmlwriter中发布存储库
现在,如果我在hgweb.config中输入以下条目
[paths]
htmlwriter = c:\code\htmlwriter我的输出中没有列出任何内容。
如果我把
[paths]
htmlwriter = c:\code\*我得到了一些东西,但不是我想要的,例如:
htmlwriter/CommandLineProjects/Clean
(请注意,about向下钻取一个目录级比我希望的更深入)。
我似乎在c:\code\htmlwriter中找不到路径、星号或任何其他内容的组合来提供存储库。它似乎总是想要比我想要的更深一层,或者什么也不显示。
我知道我的hgweb.config文件正在被读取,因为我可以更改其中的样式标记,它会更改呈现的内容。
我已经一遍又一遍地阅读了网络上的许多资源,但他们都说我正在尝试的东西应该是有效的。例如,我完全按照下面的说明操作,但没有得到好的结果:
http://www.jeremyskinner.co.uk/mercurial-on-iis7/
有人有什么建议吗?
发布于 2011-01-11 05:48:18
我会回答我自己的问题:
解决方案是,[paths]部分中列出的路径是相对于hgweb.config文件所在目录的相对。
因此,如果您的存储库位于:
c:\code\myrepo您的hgweb.config文件位于:
C:\inetpub\hgcgi则hgweb.config文件中的条目需要为:
/myrepo = ../../code/myrepo这就是诀窍--放入正确的相对路径。
我永远不能让hgweb.cgi在不同的驱动器上使用repo。
发布于 2010-12-21 11:37:57
我在hgweb.cgi上也有同样的运气,但最终选择了一条不同的路线,使用wsgi和“纯python”mercurial安装。我写了一个pretty comprehensive answer here.
https://stackoverflow.com/questions/4476106
复制相似问题