混合版本控制&同步系统?

时间:2012-01-29 11:47:19

标签: version-control synchronization

有人知道混合版本控制和同步系统吗?

我目前是一个快乐的mercurial用户,但我的项目通常包含多个文件。

大多数(代码,文档......)我想要版本控制。这就是我使用mercurial的原因。

然而,在极少数情况下,我有我希望在我的工作副本之间同步的文件,但不是版本控制。

例如,我版本控制我写的代码进行图像处理。这段代码可以生成一大堆输出图像,我想要同步,所以我不必记得在各种计算机上乱码,但没有必要控制这些版本。

澄清 - 我知道bfilesbigfiles这样的mercurial的扩展,这对我的图像示例很方便,但我只是想知道是否有人知道其他方法可以处理这个。我只想要一个系统,我可以告诉“版本控制所有文件,除了那些,应该同步但没有历史记录”。

喝彩!

编辑:我可以执行以下操作:添加hg marksync <filename>,将<filename>添加到要同步的文件列表中,然后向{{1}添加挂钩} / hg push会在后台运行hg pull(或任何同步工具),但我想知道是否有一个不太常见的解决方案(我认为bfiles / bigfiles在这些方面做了一些事情)。

2 个答案:

答案 0 :(得分:1)

版本控制系统(任何)不关心

的同步
  • 没有版本化数据
  • 除了默认路径

如果要同步任何文件 - 请使用专为此任务工具设计的 :f.e。 rsync的

答案 1 :(得分:0)

  

这段代码可以产生一大堆我想要同步的输出图像

这是DATA还是您的CODE的一部分?

如果数据:远离您的版本控制系统,请不要去那里。如果它是您的代码的一部分(如布局图像),请将其检入。这些是普遍接受的唯一方式。

数据的一个很好的解决方案是同步或生成它们。因此,您可以在部署到服务器后添加一个步骤:GenerateImages()。

编辑:除了线程启动器发表的评论:

如果图像是数据而您需要在不同的系统上处理它们,请不要考虑代码的版本控制。这是无关的。按照处理顺序对我有意义的步骤:

从更新图像代码开始,在版本控制中进行检查。然后将更新的代码部署(是的,这是部署)到cruncher计算机。现在代码已经完成。

然后你有数字cruncher应该处理的任务。喜欢处理图像。因此,从cruncher本身(可能是某些队列发生)或中央调度员开始处理。

然后你在cruncher本地获得结果。现在这些数据必须发生,所以这也是你软件的一部分。决定是否要让cruncher将它们发送到某个中央存储,工作站或其他位置。让软件处理。当我读完你的问题时,这是最困难的部分。从FTP /网络传输到特定存储解决方案,可以实现许多解决方案。愿意提供帮助,但需要有关这些部件的实际问题,数量,尺寸等的更多信息。

如果图像处理器的新更新版本使旧生成的图像过时,也会在代码中使用,例如将属性附加到生成的文件,单独的文件夹或其他指示。这样,您可以在更新后请求cruncher重新生成任何过时的文件。

相关问题