我可以让git-svn导入一个本身包含git存储库的Subversion版本库
问题描述:
我有一个SVN中有一个插件文件夹的项目。几个插件文件夹是git仓库 - 我使用git clone
将它们添加到我的插件文件夹中。我可以让git-svn导入一个本身包含git存储库的Subversion版本库
这一直工作很适合我,但现在我正在寻找迁移我的SVN仓库使用git-svn
与git:
git svn init http://path/to/my/repo --no-metadata
git config svn.authorsfile ~/authors.txt
git svn fetch
这工作得很好,其没有git的回购协议我所有的早期版本在我的插件文件夹,但是当它击中包含一个Git仓库失败,出现以下错误第一次修订:
trunk/plugins/my_plugin/.git/HEAD was not found in commit
ae9ad0ab7cebd144c823d90d43cdab2b30d13f9e (r2259)
是否有办法解决,让我完全导入我的仓库,也许排除任何。 git文件夹哪个resi在SVN仓库中?
答
事实证明,我在Ubuntu上使用git-svn 1.5,它不支持git-svn fetch
上的--ignore-paths
标志。从源代码构建混帐1.6后,我现在可以运行:
git svn fetch --ignore-paths='\.git'
的取现忽略所有.git
文件夹,并成功导入所有SVN历史上我的Git仓库。
答
您可以将当前的svn repo,filter转储出.git目录,并根据此过滤转储创建另一个svn repo,并使用此新的作为git repo的基础。
git和svn的并行使用可能会是有趣 - 您必须用新的gitless替换现有的repo,而缺少的.git目录可能会导致一些麻烦。
我还没有试过这个,所以你会想要小心,并有备份。