如何将复制与版本控制系统结合使用?

情况如下: 我们公司在两个主要生产基地工作,通过WAN进行通信。我们在内部开发一个软件,在我们的服务器上使用大约100Gb的磁盘空间(使用大量图像部署到我们客户的应用程序数据)。为了提高性能,我们的网络管理员选择了DFS复制(每6小时一次)。这意味着我们的用户(公司内部的人员)不必等待(有时2-3小时)下载所需的文件,因为它们在本地(通过LAN)可用。 问题是DFS复制使用的算法是“Last Writer Wins”。因此,如果同时更改(在开发/维护期间),具有最新日期的文件将获胜。我想避免这种数据丢失。 我是整个开发过程的项目经理。我想要做的是向人们介绍版本控制系统以解决同时修改问题。我计划使用Mercurial有几个原因,主要是因为它是分布式的,易于解释,可供个人使用,免费,并且(最重要的是)具有很好的合并能力。但是,由于复制过程(WAN)不知道如何合并,本地(LAN)使用版本控制系统的好处会丢失。 一些可能的解决方案是: 仅使用WAN上的版本控制(希望压缩足以加快速度) 仅使用DFS,并手动跟踪更改(容易出错) 找到两种方法的解决方法 团队规模很小(约10人)。感谢您的帮助和经验。     
已邀请:
如果是我,我会在每个位置都有一个“中央”存储库,每个站点的开发人员在不同的分支上工作。其中一个应该被选为“主要”分支(理想情况下将是最大变化的分支),尽管在实践中它并不重要。 每个团队的回购应定期(例如,每天,在您的6小时时间表,甚至更频繁地)与来自其他位置的回购同步,以反映在该分支中所做的更改。然后它们将合并到网站的分支(理想情况下,这将作为同一更新的一部分自动完成,但是合并将如何发生的具体细节可能会有所不同,具体取决于您选择的VCS和分支模型)。 请记住:“提前同步,经常同步”     

要回复问题请先登录注册