2009-10-31 83 views
0

是我参与的项目有很多的小模块由不同developers.We正在使用SVN,但想切换到善变的,因为我们需要去客户现场,做管理一点点的发展,所以它变得难以管理的版本..善变的使用情况下的解决方案

但完整的树干大约4-5 GB和创建一个单一回购所有模块意味着如果我需要绑定我需要的回购移动这个4-5 Gig的文件..我不能采取一个小文件夹(因为他们没有.hg文件夹)在.hg文件夹存在的一个基本文件夹的备份,因为它不会给我任何从备份模块(文件夹)中进行合作的方式..所以最好的方式来处理这种情况,一个项目有很多模块,并说...开发人员将自己的单独模块(将数据的大小保持为最小)与代码一起使用,然后将代码放回原处并合并其分支。

是进入我的脑海里一个明显的SOLN是,每一个模块成为一个回购但这是困难的专门管理当一个集成的产品将是released..what版本将这个版本是指?因为所有模块都会有自己的版本历史?

更明显的情况是,如果我将完整的svn历史转换为mercurial ..然后,如果在trunk上完成转换,它将使单个回购,但具有巨大的大小......每个模块所有者采取这个巨大的捆绑与他每次都会毫无意义。

所以有什么建议?

谢谢。

+1

您应该查看子模块功能或林扩展。 – tonfa 2009-10-31 15:31:20

回答

3

拐说,它在一个评论,但我会把它有一个答案:使用水银的Submodule Support。它说的是expirimental,但它是在1.3版本发布的几个月内没有发生重大bug或更改,所以我怀疑它进入了即将到来的更改将向后兼容的区域。另外,如果你有一些非常大的文件(> 10MB)膨胀回购,你可以使用Big Files Extension将它们移出直接控制,但仍然跟踪它们的版本。一般来说,我发现如果我使我的构建脚本足够全面,他们下载大的非手动编辑的资产,而不是将它们放在源代码控制中,回购不会趋于增长到4或5 GB - 这是很多KLoC。也许这种迁移是使用依赖性下载工具如Ivy或任何适合您的开发环境的好时机。

2

在网站上,我们把一切都只是在多变的MP3和FLV文件,我们在300MB很少得到。此外,磁盘便宜。如果您和客户站点之间存在带宽问题(或某种安全问题),则可能需要将整个树克隆到拇指驱动器上,然后转到客户站点并进行破解,然后回到家中并且合并更改。

水银从根本上改变我看的版本控制的方式。像这样的东西曾经是一个大问题,现在......呃。

+0

“这样的东西曾经是一个大问题,现在...呃” - 很酷,我喜欢那个:-) – 2009-11-02 22:47:30

+0

很高兴你喜欢它。我是一个老人......我的意思是*旧*。我有SCCS和RCS档案可以追溯到80年代初。我们过去常常站在我们的头上,试图通过Hg和SSH实现一小部分功能。上帝,我是否希望在70年代我们在施乐公司有Hg。 (当然,这意味着我们使用了Python而不是BCPL,所以这也会很好。) – 2009-11-03 03:37:23

+0

是的,我同意hg真的改变了我看待版本控制的方式。我爱上了mercurial ..它只是awsome! 无法等待看到更多的功能建设到它..以改变差距b/w hg和一些老的版本工具具有的一些仍然伟大的aproaches .. – ashishsony 2009-11-03 17:14:04

相关问题