Mercurial服务器运行多个存储库

时间:2011-08-03 11:59:58

标签: mercurial tortoisehg

我正在使用TortoiseHg,我想将其作为服务器运行。我已经能够运行服务器,将其指向我选择的存储库的根目录。

  • http://192.168.1.64:8000指向c:\myproject

我正在寻找一种方法来拥有一个文件夹C:\projects,里面有多个存储库,将我的Hg服务器指向该文件夹,我将访问我的存储库,如:

  • http://192.168.1.64:8000/project1指向c:\projects\project1
  • http://192.168.1.64:8000/project2指向c:\projects\project2

有人能帮助我吗?

3 个答案:

答案 0 :(得分:12)

正如Lasse所建议的那样,使用完整的Web服务器进行repo托管是一个好主意,没有什么能阻止您使用hg serve提供多个存储库。

这是我的hgweb.config文件:

[paths]
project-a = C:/hg/project-a/
library-b = C:/hg/library-b/

我使用以下命令启动hg serve

hg serve --address 127.0.0.1 --port 8000 --webdir-conf C:/hg/hgweb.config --encoding utf8

答案 1 :(得分:2)

你应该编辑hgweb.config文件,因为它默认是视图,如:

[web]
style = gitweb

[collections]
<br>
/mercurial/collections = /mercurial/collections

所以,假设记录为first / mercurial / collections是标识符名称,而第二个(右边是等号)代表repo的物理路径。

例如,我已经做到了:

[web]
style = gitweb

[collections]
myrepo1 = /mercurial/repositories/hang_over
myrepo2 = /mercurial/repositories/first_repo
myrepo3 = /mercurial/repositories/javaforever

我在linux ubuntu发行版下制作这个。

无论如何,这里的mercurial目录在我的根目录中,我指向它/ mercurial / repositories。

希望它对你有所帮助。

此致。

答案 2 :(得分:1)

为此,您需要设置一个完整的Web服务器,IIS或Apache,以及主机hgweb,即Mercurial附带的Python cgi脚本(您可能需要为此下载源代码。)

有关详细信息,请参阅Publishing Repositories with hgwebdir.cgi