我正在使用hgweb访问许多汞库,并将它们作为一个集合提供:
[collections]
/home/me = /home/me/projects这将在本地主机/项目中提供服务。
我在那个位置有大约30个存储库,在一个源代码树中,有相当数量的其他非汞管理的项目。
hgweb的响应非常慢;在http://localhost/上提供一个列表需要大约30秒,而打开一个项目需要大约30秒,因此将其用于共享目的是痛苦的。
我怎样才能把这个调得更快呢?
我在OSX上运行,如果这有什么区别的话。
发布于 2010-08-10 23:25:18
hgweb将扫描配置文件中[collections]条目的所有子目录。因为这里有很多非Mercurial目录,所以必须对每个子目录进行扫描。相反,它可以停止在包含汞存储库的目录树的顶层进行扫描,因为它将在那里看到.hg目录。
如果您使用的是更新的Mercurial (如1.1之后),请尝试更改hgweb.config以使用[paths]部分,并为每个汞存储库提供显式条目。
发布于 2010-08-20 19:37:42
作为一个开放源码的替代方案,您可以使用RhodeCode http://rhodecode.com --它完全是用Python编写的hgweb替换。
发布于 2010-08-10 23:25:46
问题可能是服务器在每个请求期间递归地搜索repos。听起来你有一个很大的目录,所以这是有道理的。
这个表示法将适用于首选的[paths]属性,但我不确定它是否会帮助[collections]属性。试着换到
[collections]
/home/me = /home/me/projects/*所以它只会向下搜索一层。
有关此问题的更多信息,请查看此处:https://www.mercurial-scm.org/wiki/HgWebDirStepByStep
如果这样做不起作用,那么如果您更改为[paths]并使用*表示法,它肯定会起作用。
https://stackoverflow.com/questions/3454175
复制相似问题