我想将SVN存储库导入GitHub Enterprise存储库
有很多与此问题相关的问题,其中大多数都可以用Git子模块或Git子树来解决。
在我的情况下,我有两个存储库:
此模块存储库具有以下架构:
K73%2FN7gAtqElUW0GQQ6lhelTSHIoKiP%2FJrTbxX0XZNgw8VKuib5fr1Y2zjRj4iB38s2iVXssuF+PbEA+swwyfA%3D%3D
对于项目,foolib/
moduleA/
...
moduleB/
...
...
中只有少数模块用作foolib
。例如,此主项目仅使用svn:externals
中的moduleA
。
正如本question所述,一种可能的解决方案是使用稀疏结账。我猜测Git子树也会做到这一点。不幸的是,它并没有解决主要问题。
如果我的项目非常小,只要我从foolib
获得某些内容,即使使用了sparce-checkout,我也会检索foolib
的整个历史记录(例如 2 GB)。此问题与SVN不存在,因为foolib
属性仅获取所需内容,而不是整个历史记录。
我可以想象做一些愚蠢的事情,比如使用svn:externals
中列出的提交动态地重新创建本地稀疏存储库。但我认为这不是一个好的解决方案。
在Git中获取类似行为的正确工作流程是什么,而不必获取git log --follow foolib/moduleA
我只需要几个模块的所有内容的整个历史记录?