如何在git存储库下导入svn存储库?

时间:2010-06-13 08:39:20

标签: svn git migration git-svn

我有一个svn存储库,我使用svn2git工具迁移到git。现在我想将这个git布局推送到现有目录下的远程存储库。但是,我想保留svn历史(标签和分支)。   例如:

Git远程存储库布局:

GIT-库/ DIRA
  混帐资料库/ DIRB
  GIT-库/ DIRC / SVN的仓库 - 迁移至GIT中

有道理吗?有可能??

由于

2 个答案:

答案 0 :(得分:2)

检查你的外部git存储库,将导入的git存储库添加为远程存储库,并使用git-subtree使导入的存储库成为另一个的子树。

git clone git://path/to/remote/repo
cd repo
git remote add -f ../path/to/imported
git subtree add --prefix=subdir/ imported/master
git push

但是,你应该考虑标签和分支机构的要求。您正在组合具有n个分支的外部仓库和具有m个分支的内部仓库。你要做什么,创建n×m分支?

如果要保留导入的repo的分支,请为其提供自己的存储库而不是子目录。

答案 1 :(得分:1)

我不认为这是直接可能的。

您可以使用git子模块将dirC“链接”到刚刚创建的存储库。

那会吗?