从svn迁移到git并保留svn-externals

6
我正在从svn存储库迁移到git。此svn存储库具有要保留在svn存储库中的svn外部引用。这些外部引用在历史记录中已版本化和标记,并且是只读的。我该如何正确迁移并使新的git存储库中的svn外部引用得到适当设置? 我正在研究 "git svn propset"、git子模块、子树合并等,但我该如何设置这样一个存储库呢?

我猜你不能用git svn propset来跟踪svn:externals,对吧? - Marco Savo
git svn propset在Git中不起作用,它只是在被跟踪的SVN存储库中设置SVN属性。您可以使用它来管理SVN存储库跟踪的svn:externals,但它对Git克隆没有影响。 - Vampire
1个回答

0

或者,我建议使用修改过的旧版Python脚本,它可以正常工作: https://github.com/eneroth/git-externals 该脚本将检查以前在.gitexternals文件中定义的所有svn:externals子目录中的版本。 问题是检出的版本是HEAD,并不是git存储库的一部分。

我会使用单独的文件来存储所有svn版本。该文件将存储在git中。因此,每次更新时, 该文件都会更新为最新提交的版本。脚本中的选项将允许更新外部版本的最新版本。 该脚本将被修改为下载存储在这种文件中的版本。 在这种情况下,分支和标签的版本也将固定为外部版本。 对于迁移的历史数据,不确定这种方法是否可行。

我还将在子模块的情况下使用此脚本,它非常灵活。但在这种情况下,我们将在git中镜像所有外部版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接