Java 如何将svn回购的一部分转移到git

Java 如何将svn回购的一部分转移到git,java,git,svn,Java,Git,Svn,我正在尝试将ApacheAries项目的一部分从svn迁移到git。我只想将jpa子项目及其标记从2.0.0标记开始移动 这是jpa的主干url: 这是其中一个标签: 最后,我希望有一个git repo,其中包含svn主干上现在低于jpa的所有文件的历史记录,以及上面的标记 我已经能够获得jpa子目录和它的历史记录,因为2.0.0标记是我想要导入的最早的标记: git svn clone https://svn.apache.org/repos/asf/aries/trunk/jpa --r

我正在尝试将ApacheAries项目的一部分从svn迁移到git。我只想将jpa子项目及其标记从2.0.0标记开始移动

这是jpa的主干url:

这是其中一个标签:

最后,我希望有一个git repo,其中包含svn主干上现在低于jpa的所有文件的历史记录,以及上面的标记

我已经能够获得jpa子目录和它的历史记录,因为2.0.0标记是我想要导入的最早的标记:

git svn clone https://svn.apache.org/repos/asf/aries/trunk/jpa --revision=1685808:HEAD

现在,我需要一种方法来添加标记,使它们看起来像git标记。

导入通过使用下面的git配置工作。因此,它的核心是为主干和标记指定正确的路径和模式

然后,我运行了gitsvnfetch--revision=1685808:HEAD,修改了我想要导入的第一个标记。这给了我git中的提交和标记,但这些标记只是引用。因此,最后一步是从各自的ref在git中创建每个标记,如下所示:

git tag -a 2.6.1 refs/remotes/origin/tags/org.apache.aries.jpa-2.6.1 -m "Converting svn tag"
配置

[svn-remote "svn"]
url = https://svn.apache.org/repos/asf/aries
trunk = trunk/jpa
fetch = :refs/remotes/git-svn
tags = tags/org.apache.aries.jpa-*:refs/remotes/origin/tags/*