我一直在使用Mercurial,但主要是供我自己使用.现在,我有一个项目,我正在努力建立同一个项目,我们可能会修改彼此的文件.
我想在服务器上设置Mercurial存储库,使该存储库成为"服务器",因此我的更改和其他编辑器的更改都推送到该服务器(所以基本上是Subversion/CVS模型); 我喜欢Mercurial但不想切换到像Subversion这样的东西.
在我自己的网络中,一切都在Linux上完成,我的"服务器" 安装了OpenSSH.因此,将我的更改(我在多台计算机上工作)从一台计算机推送到服务器只是"hg push"的问题; 使用的协议是SSH以传输更改.
问题是我使用Linux,服务器将是Windows(所以没有OpenSSH,对吧?)而另一个编辑器也将使用Windows.据我所知,在这些类型的设置中使用Mercurial的最佳方式是存储库从源中提取更改,而不是将源推送到"服务器".我落后于几个防火墙(不完全是我的网络),我的计算机将无法从服务器上看到,我假设其他编辑器也将在防火墙后面(所以我们不能只启动本地Mercurial HTTP服务器并从中获取"服务器"计算机).
对于两位编辑来说,更改服务器存储库的最佳方法是什么?(我应该补充一点,服务器是因特网上的服务器,因此它就像是一样可见google.com
.它是托管的Windows服务器,但如果需要,我可能有权安装软件.)
我相信阅读项目的文档是一个很好的开始:https://www.mercurial-scm.org/wiki/PublishingRepositories.
它也可以简化管理以外包它 - 如果你只有一个存储库和几个人推/拉它,你可能会比在Bitbucket这样的地方托管它更糟糕.(对于一个存储库解决方案,它实际上是免费的.)
看看rhodecode它是一个开源的Mercurial服务器,具有Kiln提供的许多功能,包括代码搜索.它甚至可以与LDAP很好地集成,因此您可以使用Windows域对HG用户进行身份验证.
我建议将您的项目放在http://bitbucket.org/,一个Mercurial存储库托管站点.如果您不希望其他人看到源,则他们具有创建私有存储库的设置.我认为在他们开始向您收取费用之前,您可以获得一个私人存储库.
编辑: Bitbucket现在提供无限的私人/隐藏存储库.
我建议来自www.fogbugz.com的Kiln.它是一个商业源控制解决方案,基本上是一个带有Mercurial的Windows包装器.
当然有许多可用于Windows的SSH服务器.这是两个例子:
SSH Windows
免费SSHd
查看关于Windows用户连接的Mercurial:The Definitive Guide一书中的Putty示例.
您可以使用SCM-Manager通过http或https共享您的存储库.
Mercurial和PuTTY是一个很好的支持和一个记录良好的解决方案.