2009-11-10 30 views
1

我的团队有一个本地开发网络,它与任何外部网络都没有物理连接。这是一项合同义务,无法避免。我们还必须与一个位于全国各地的团队进行协调,并且如前所暗示的,与我们没有直接的网络连接。我们唯一的数据传输方法涉及将数据复制到USB磁盘并通过电子邮件/ FTP /等发送。如何在多地点,非联网环境中组织/使用Mercurial?

注意:我们不讨论网络连接问题或与USB接盘明显的安全漏洞。这些问题是不可谈判的。

我们还在说服外部团队使用水银(目前不使用任何SCM)。假设这个问题的其余部分,他们正在使用Mercurial。我们现在有一天会强制他们的手。

我们切换中能够利用分布式性质,以便更好地同步瓦特/外部团队希望善变。在内部,我们使用Mercurial很像中央服务器SCM。每个开发人员都可以从集成服务器上的主回购商克隆。从这个中心位置推动/拉动变化。

这里躺着的实际问题内容:

什么是沟通更改远程团队(假设他们使用类似水银的设置给我们)的最好方法?我应该拥有本地推送/拉取的本地主库吗?),还有一个本地集成回购的远程推/拉?我怎样才能最好地避免出现复杂的合并问题?如果我们使用Mercurial捆绑来推动更改,谁将进行合并并针对哪个存储库?

回答

2

基本上可以像使用在线一样使用它。

你只需要在本地复制远程回购,分拆他们给你在它的每一个变更。您不应该直接将您的更改推送到本地镜像中(它应始终反映远程组的状态)。

之后,你决定你想要什么,做在你身边或自己身边的合并,这其实并不重要。

+0

有道理,几天后我可能会接受。给别人一个机会;) – basszero 2009-11-10 17:20:26