2017-04-14 111 views
-1

我正在尝试将Apache Aries项目的一部分从svn移动到git。我只想从2.0.0标签开始移动jpa子项目及其标签。如何将svn回购库的一部分移动到git

这是JPA的主干网址: https://svn.apache.org/repos/asf/aries/trunk/jpa

这是标签中的一个: https://svn.apache.org/repos/asf/aries/tags/org.apache.aries.jpa-2.0.0/

最后,我想有与现在的所有文件的历史混帐回购协议在svn主干上的jpa下面以及看起来像上面的标签。

我已经能够得到JPA子目录和它的历史,因为2.0.0标签这是我想要导入的最古老的:

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

现在我需要一种方法来添加标签的方式他们看起来像git标签。

回答

0

导入通过使用下面的git配置工作。所以它的核心是为干线和标签指定一个正确的路径和模式。

然后我运行git svn fetch --revision=1685808:HEAD并修改了我想要导入的第一个标记。这给了我提交和git中的标签,但标签只是refs。所以最后一步就是从相应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/* 
相关问题