我已经玩过使用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主分支,标签镜像Git标签。
注意:SVN镜像是只读的
答案 0 :(得分:2)
您可以尝试使用SubGit代替git-svn。
SubGit为Subversion和Git存储库提供读写镜像功能。除此之外,它还将Git分支和标记转换为Subversion分支和标记目录。
有关详细信息,请参阅SubGit documentation和git-svn comparison。
SubGit是一种商业产品,有一些免费选项。一次性导入也是免费的。
答案 1 :(得分:0)
单独使用git svn
,您无法在SVN中镜像任何Git操作。只有在镜像分支中完成的新提交才能安全地返回SVN。
对于更完整的往返,您可以try git2svn重建SVN回购 在此期间,您可以学习此git svn workflow,即使标签未明确提及。