2

我对 IIS7、Python 2.6、Mercurial 1.7.2 和 hgweb.cgi 的体验令人恼火。

在为 hgweb.cgi 工作而奋斗了一个下午之后,我终于使用 hgweb.cgi 和 IIS7 在浏览器中渲染它。我现在可以看到 Web 服务器的空白渲染,即没有列出存储库的标头。

现在,根据我在搜索 Google 结果后阅读的多个网站,我知道我必须更新我的 hgweb.config 文件以指向一些存储库。

但是,就我的一生而言,我无法让它使用 [paths] 或 [collections] 条目列出我的存储库。

我有以下目录结构,(简化但说明性......):

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/

有人有什么建议吗?

4

2 回答 2

1

我对 hgweb.cgi 的运气差不多,但最终使用 wsgi 和“纯 python”mercurial 安装走了一条不同的路线。我在这里写了一个非常全面的答案。

于 2010-12-21T03:37:57.327 回答
1

我会回答我自己的问题:

解决方案是该[paths]部分中列出的路径对于 hgweb.config 文件所在的目录。

因此,如果您的存储库位于:

c:\code\myrepo

并且您的 hgweb.config 文件位于:

C:\inetpub\hgcgi

那么您的 hgweb.config 文件中的条目需要是:

/myrepo = ../../code/myrepo

这就是诀窍——放置正确的相对路径。

我永远无法让 hgweb.cgi 与不同驱动器上的 repo 一起工作。

于 2011-01-10T21:48:17.587 回答