我正在寻找一种方法来显示使用Apache 2 Web服务器的静态HTML内容,同时还有一个Mercurial存储库在同一个URL下。 例如在http://www.myserver.org/projectname下,如果使用正常的Web浏览器浏览,应该有可用的项目HTML,但应该可以使用hg clone http://www.myserver.org/projectname来克隆项目Mercurial repository hg clone http://www.myserver.org/projectname 。 这基本上是http://bitbucket.org 。 我认为这可能是通过configurationApache使用hgweb.cgi脚本来实现Mercurial请求而不是普通的HTML GET请求来实现的。 不过,我现在没有要求Mercurial使用(希望不是GET)以及如何configurationApache。
多一点背景:
这需要多个存储库/项目(目前约2400)。 到目前为止,我尝试了hgweb ,正如Publishing Repositories中所解释的那样,这对于存储库的Web视图来说是非常hgweb ,但不允许我在作者,名称和描述(来自.hg/hgrc [web]部分)之外显示任何其他信息。 hgweb的variablesreplace是非常有限的,所以它不允许提供任意的variables。 我知道我可以简单地在不同的URL下使用静态HTML页面和hgweb ,但是这不符合给我的限制。
了解什么样的请求发送mercurial – 我们有完美的tcpdump。
我启动tcpdump,做hg克隆http://selenic.com/hg
并看到hg做GET请求/ hg?cmd = capabilities,/ hg?cmd = getbundle,/ hg?cmd = batch
我想,你可以收集所有需要的hg,并configurationapache(或nginx,或其他一些代理)转发这样的请求到hgweb.cgi