运行多个存储库的Mercurial服务器

运行多个存储库的Mercurial服务器,mercurial,tortoisehg,Mercurial,Tortoisehg,我使用的是Ortoisehg,我想把它作为服务器运行。我已经能够运行服务器,将它指向我选择的存储库的根 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

我使用的是Ortoisehg,我想把它作为服务器运行。我已经能够运行服务器,将它指向我选择的存储库的根

  • 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

有人能帮我吗?

为此,您需要设置一个完整的web服务器,IIS或Apache,并托管Mercurial附带的Python cgi脚本hgweb(您可能需要下载源代码)


有关更多详细信息,请参阅。

尽管按照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

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

[web]
style = gitweb

[collections]
<br>
/mercurial/collections = /mercurial/collections
我是在linux ubuntu发行版下制作的

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

希望对你有帮助


诚恳地说。

这个教程对我帮助很大:我喜欢使用ISAPI而不是cgi。这里有一个很好的教程:selenic.com网站和firegarden网站的链接都被断开了。有什么更新吗?我在这里找到了hgwebdir.cgi的更新版本:谢谢,这确实是一个很好的解决方案,但现在我已经经历了设置服务器的所有麻烦。:)
[web]
style = gitweb

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