使用Mercurial存储库的Web服务器是否有真正的优势?

时间:2013-05-06 02:55:16

标签: mercurial

我是一名远程工作者,我可以通过VPN访问Windows文件服务器共享。似乎在我读到的任何地方都建议使用基于Web服务器的存储库。对我来说这将是一个艰难的卖点,因为我不知道衡量维护网络服务器成本的真正优势,无论是基于Windows还是基于Linux。

此时只有两个人访问它,并且不需要在VPN或主办公室外访问。总有一天可能更多。但不是在可预见的未来。

3 个答案:

答案 0 :(得分:1)

Mercurial支持将存储库放在网络共享上并推送/拉出它。

当人们建议您使用网络服务器访问存储库时(例如hg serve用于短期服务或CGI/WSGI script用于长期服务),这可能是因为

  • 网络文件系统驱动程序/软件中存在错误的可能性。 Mercurial在内部使用硬链接来提高克隆效率,并且远程文件系统在报告硬链接计数方面存在问题,请参阅bug 761bug 1866

    这些错误在两年多前分别在版本1.6.3和1.7.1中得到修复。许多人在修复这些错误之前和之后都使用了存储在网络驱动器上的存储库。

  • 能够在浏览器中浏览历史记录,当您想要将同事指向存储库中的某个内容时,此功能非常方便。

答案 1 :(得分:1)

只是添加@Martin写的内容。

我有重复的设置。网络共享以及共享存储库上的Web服务器。我发现网络更快。这对于远程连接尤其有用(如您的情况)。

Web服务器设置非常简单。

我希望这会有所帮助。

答案 2 :(得分:1)

我想加上我的2美分 - 由Martin链接的PublishingRepositories页面说明以下有关服务器份额的信息:

  由于网络文件系统可靠性的一般问题,

通常仅限于内部网,通常不推荐

根据我自己的经验,只要客户端服务器是Windows计算机,就可以在服务器共享上放置HG存储库。

我在家Windows clients trying to access HG repositories on a NAS running on Linux遇到了问题。

在工作中,我们在“真正的”Windows服务器上的共享上使用HG存储库超过3年没有任何问题。
与此同时,我们切换到hgweb - 无论如何我不得不搬到新的服务器上,所以我决定给hgweb一个机会并设法让它在新服务器上运行,主要是this tutorial

我可以确认hgweb似乎更快(就像Eldad已经说过的那样)并且我同意Martin关于能够在浏览器中查看历史记录的声明。

但是,这些优点都很好,但我可以没有它们 如果共享驱动器适合您,请保留它 IMO,安装hgweb并不像Eldad在他的回答中所说的那么容易(至少在Windows服务器上对我来说并不容易。另一方面,我对Web服务器和IIS一无所知......也许用这些知识会更容易)。