我们在同一个封闭的(ugh,愚蠢的政府)网络上有两名开发人员,另一名开发人员在几分钟后开车,而第四名开发人员在全国各地途中。 对于不在同一网络上的人们,电子邮件,ftp和删除媒体都是所有可能的传输方法。

我是两个封闭式网络开发人员之一,请考虑我们为“主”位置。

最适合团队的Mercurial设置/模式是什么? 向/从远程开发人员传送更改的最佳方法是什么? 在我负责时,我认为我必须保留至少一个主存储库和另一个可以开发的本地存储库。 每个其他人只需要复制主文件即可。 这是正确的吗? 我猜这也使我对合并负责吗?

如您所见,我仍在努力围绕分布式版本控制。 我认为没有其他方法可以解决连接问题。

===============>>#1 票数:3

修补程序是一种简单而通用的解决方案。

为了遍历较大的更改组(尤其是二进制更改和合并),Mercurial提供了二进制捆绑包。 捆绑包基本上是当您执行hg push时在网络上发送的二进制文件,但此处被捕获在文件中。

假设我以某种方式获得了克隆(通过闪存驱动器,DVD等)。 称之为upstream 然后创建第二个克隆,称为devel 我尽我所有的发展中devel ,使大量的提交,合并等。由于水银分布我能做到这一切的下线。

看看upstream缺少哪些变更集

% hg outgoing ../upstream

当我有东西要发送时,我可以使用

% hg bundle changes.hg ../upstream

获取二进制压缩文件,其中包含变更集(包括所有其元数据)。 然后,我可以将此文件刻录到CD上并通过邮件发送。

捆绑包的收件人可以做

% hg incoming changes.hg

查看变更集列表,并

% hg pull changes.hg

解压缩并将变更集添加到他的存储库。 然后,他很可能必须合并-就像他是通过HTTP或SSH直接从您的存储库中直接提取一样。

注意, upstream存储库仅用作记住上游存储库中已找到哪些变更集的便捷方式。 您还可以记下变更集ID,并在捆绑时使用hg bundle --base来指定基本(通用)变更集。 请参阅hg help bundle在Wiki中查找

===============>>#2 票数:1 已采纳

网络外部的用户可以制作补丁和/或使用电子邮件将更新发送到主存储库或某人(例如您自己)以将其合并。 其他内部人员可以像您一样拥有本地副本并进行合并-但是,如果这些副本不在网络修补程序之内,那么最好由一个人来处理它们,以使每个人都不会感到困惑,但这是您必须要做的考虑一下你自己。

以另一种方式同步,您将创建一个补丁,然后他们通过电子邮件或将闪存驱动器发送给远程开发人员以对他们的系统进行补丁。 您将需要与团队成员进行良好的沟通,非常感谢,我不在您的位置。

这些是我唯一的建议-很明显,让他们获得VPN连接! 我很想听听事情的进展,计划稳定到每周一次等等。

===============>>#3 票数:0

正确。 使其进入封闭网络的唯一方法是通过闪存驱动器。

  ask by basszero translate from so

未解决问题?本站智能推荐: