我们现在对SVN非常满意,但是乔尔教程吸引了我。所以我想知道-在我们的情况下这也是可行的吗?
问题是-我们的SVN存储库是巨大的。该软件本身就有着15年的历史,并且已经存活了好几个不同的源代码控制系统。有超过68,000个修订(变更集),源代码本身占用超过100 GB,我甚至无法猜测整个存储库消耗了多少GB。
那么问题就很简单了--整个存储库的克隆可能需要很长时间才能完成,并且会在驱动器上消耗更多的空间。而且,由于分布式版本控制的关键在于拥有尽可能多的存储库,所以我开始产生怀疑。
Mercurial (或任何其他分布式版本控制)如何处理这个问题?或者它们不能用于如此庞大的项目?
补充道:为了澄清这一点,说--整个事情都是一个单一的项目,它可以编译成一个单一的.EXE,不能分开。
添加了2:第二思想--Linux内核存储库使用git,可能比我的要大一两个数量级。那么他们是如何运作的呢?
发布于 2010-03-19 10:20:23
100 is的源代码比Linux内核少。Linux内核2.6.33和2.6.34-rc1之间的变更量有6604提交。在我看来,你的存储库规模听起来并不可怕。
是以前的两倍,但是我们都有这么大的硬盘。
发布于 2010-03-19 10:48:56
大型项目的分布式版本控制--它可行吗?
绝对一点儿没错!如您所知,Linux是巨大的,并且使用Git。汞用于一些重大项目。也是,例如Python、Mozilla、OpenSolaris和Java。
我们现在对SVN非常满意,但是Joel的教程吸引了我。所以我想知道-在我们的情况下这也是可行的吗?
是。如果您现在对Subversion很满意,那么您可能不会做太多的分支和合并!
问题是-我们的SVN存储库是巨大的。..。有超过68,000次修订(变更集),源代码本身占用100 up以上。
正如其他人指出的那样,与许多现有的项目相比,这实际上没有那么大。
那么问题就很简单了--整个存储库的克隆可能需要很长时间才能完成,并且会在驱动器上消耗更多的空间。
Git和Mercurial在管理存储方面都非常有效,它们的存储库占用的空间比等效的Subversion repo (已经转换了几个)要少得多。一旦你有了初步的结帐,你只是推三角,这是非常快的。在大多数操作中,它们都要快得多。最初的克隆是一次性的,所以不管花多长时间(我敢打赌你会很惊讶!)
而且,由于分布式版本控制的关键在于拥有尽可能多的存储库,所以我开始产生怀疑。
磁盘空间很便宜。开发人员的生产力更重要。那么,如果回购占用1GB呢?如果你能更聪明地工作,那是值得的。
Mercurial (或任何其他分布式版本控制)如何处理这个问题?或者它们不能用于如此庞大的项目?
使用汞的项目 (如Mozilla )是如何管理转换过程的,这可能值得一读。其中大多数都有多个repos,每个repos都包含主要组件。Mercurial和Git都支持嵌套存储库。还有一些工具来管理转换过程-- Mercurial内置了从大多数其他系统导入的支持。。
补充:澄清-整个事情是一个单一的项目怪兽,编译成一个单一的.EXE,不能分开。
这使得它更容易,因为您只需要一个存储库。
添加2:第二考虑- Linux内核存储库使用git,可能比我的要大一两个数量级。那么他们是如何运作的呢?
Git是为原始速度而设计的。磁盘上的格式、有线协议、内存中的算法都得到了很大的优化.他们还开发了复杂的工作流,其中补丁从单个开发人员、子系统维护人员、到副官,最终到Linus。DVCS的优点之一是它们非常灵活,支持各种工作流。
我建议你读一下布赖恩·奥沙利文的“关于汞的优秀书籍”,这会让你很快跟上速度。下载Mercurial和工作的例子,并发挥它在一些划痕回购,以获得它的感觉。
然后启动convert命令导入现有的源存储库。然后尝试进行一些本地更改、提交、分支、查看日志、使用内置的web服务器等等。然后把它克隆到另一个盒子里,然后推动一些改变。对最常见的操作进行计时,并查看比较结果。你可以免费做一个完整的评估,只需要花一些时间。
发布于 2010-04-01 15:06:33
不要担心存储库空间的需求。我的轶事:当我把我们的代码基从SVN转换到git (完整的历史-我想)时,我发现克隆使用的空间比只使用WVN工作目录的空间更少。SVN保存所有签出文件的原始副本:查看$PWD/. SVN /text-base/在任何SVN签出中。有了git,整个历史就会占用更少的空间。
真正令我惊讶的是,git的网络效率是如此之高。我在一个连接良好的地方复制了一个git项目,然后用闪存盘把它带回家,在那里我用git fetch / git pull更新了它,只需要我小小的GPRS连接。我不敢在SVN控制的项目中做同样的事。
你真的欠你自己至少试一试。我想你会惊讶于你的集中--以VCS为中心的假设是多么的错误。
https://stackoverflow.com/questions/2476356
复制相似问题