git svn工具从包含多个重复存储库的SVN迁移

时间:2019-06-20 17:20:59

标签: git git-svn

我正在一个SVN存储库包含重复存储库的项目中

/trunk/project_v1
/trunk/project_v2
/trunk/project_tomcat_migration_v3
/trunk/empService1
/trunk/empService2
/trunk/empService_random_string_v3

  .
  .

Tags还包含重复的存储库。

  1. 我想选择项目svn存储库的最新版本(例如project_tomcat_migration_v3),并将其推送到master上的git存储库。其余重复的存储库(例如v1和v2),我想推送到单独的分支。有什么方法可以使用git svn命令来实现?
  2. 如果使用git svn无法实现上述操作,是否有任何方法可以克隆SVN存储库并将其复制到现有git存储库的分支中
    大致如下:

git svn clone http://url/trunk//trunk/project_v2 --separate_branch_on_existing_repo

1 个答案:

答案 0 :(得分:1)

使用svn2git。您可以使用路径指定哪个存储库。

https://github.com/svn-all-fast-export/svn2git

create repository project_v1
end repository

create repository project_v2
end repository

match /trunk/project_v1/
repository project_v1
branch master
end match

match /trunk/project_v2/
repository project_v2
branch master
end match

注意:标签是SVN中的分支,必须声明一些不同。 ([^/]+)/用于匹配标签名称。

match /tags/project_v1/([^/]+)/
repository project_v1
branch refs/tags/\1
annotated=true
end match