有没有办法使用git-svn将Git repo镜像到SVN并让Git标签/分支成为SVN标签/分支?

时间:2011-06-03 17:17:55

标签: git git-svn mirror

我已经玩过使用git-svn将Git repo镜像到SVN repo,但我似乎做的不仅仅是将主更改推送到SVN repos trunk。

基本上我到目前为止所做的是使用标准布局(项目名称/主干,项目名称/标签,项目名称/分支)创建SVN仓库,然后执行'git svn init --stdlayout http://server/svn/project-name”。这为当前的Git repo设置了git-svn,然后我在Git repo中做了我想做的任何更改,然后通过'git svn dcommit'将它们推送到SVN,但这似乎只适用于推送当前分支(通常掌握)到SVN项目的trunk文件夹。

我想要做的是创建Git标签,然后将它们推送到SVN项目的标签文件夹。我想为所有分支机构做同样的事情,但这不是必需的。我需要SVN镜像使主干镜像Git主分支,标签镜像Gi​​t标签。

注意:SVN镜像是只读的

2 个答案:

答案 0 :(得分:2)

您可以尝试使用SubGit代替git-svn。

SubGit为Subversion和Git存储库提供读写镜像功能。除此之外,它还将Git分支和标记转换为Subversion分支和标记目录。

有关详细信息,请参阅SubGit documentationgit-svn comparison

SubGit是一种商业产品,有一些免费选项。一次性导入也是免费的。

答案 1 :(得分:0)

单独使用git svn,您无法在SVN中镜像任何Git操作。只有在镜像分支中完成的新提交才能安全地返回SVN。

对于更完整的往返,您可以try git2svn重建SVN回购 在此期间,您可以学习此git svn workflow,即使标签未明确提及。