2016-11-25 65 views
0

我想评估将我们的巨型SVN回购转换为git的可行性。 主要问题是该项目有几百个外部,其中一些是相当健壮的。Svn externals> git submodules

到目前为止,我已经创建了一个脚本,递归地将所有svn外部代码克隆到他们自己的git仓库中,然后主要仓库定义了大量指向我的git克隆的子模块。

主要问题是它似乎外部采取两倍的空间,他们应该(克隆和子模块)。 有没有办法只有1个外部克隆的共享实例?

+0

我不知道如何子模块(这是您的项目回购协议中的定义)应该扩大外部克隆回购的规模,因为外部回购没有链接到您的项目回购,甚至不知道在另一个回购区内进行子模块的交易。你确定没有其他原因的大小? –

回答

1

主要问题是它似乎是外部应用空间的两倍(克隆和子模块)。

如果两次你的意思是:

  • 子模块回购
  • 的主仓库内的子模块的文件夹,它引用第一个

然后,它不应该是相当的两倍:第一个(子模块回购)应该是bare one (or can be made bare),避免保留两个工作树及其所有文件。

+0

有一个小问题: 很多项目都有外部自己,所以从我所知道的情况来看,我需要在每个子模块中有一棵工作树(除了没有外部元素的回购点外) – Clusty