仅使用该分支的版本历史记录将特定的svn分支单独克隆到git中

时间:2015-09-17 20:01:43

标签: git svn version-control git-svn git-clone

我有一个包含trunk和多个分支的庞大的svn存储库。我想克隆一个特定的分支,最近的一个单独进入git repo。我不想要整个svn存储库的修订历史记录,但仅限于创建分支的时间。我的svn repo有一个标准的结构,比如分支,标签和主干。我尝试使用类似于

的命令克隆特定的仓库
git svn clone https://{path to SVN repo}/branches/{my branch name}  

这可行,但考虑到我的回购量有多大,如果我让机器不停地运转,这个过程至少需要一周时间。我认为这是因为,GIT正试图将版本历史从第一次提交到回购。我想检查是否可以仅使用该分支的版本历史记录将一个分支克隆到GIT中?很抱歉这个问题很长,任何帮助都将不胜感激。

当我使用--single-branch命令尝试解决方案时,我收到一个未知的命令错误。我假设因为我使用的是GIT-SVN网桥,可能会有不同的命令?

2 个答案:

答案 0 :(得分:1)

我终于通过让git认为远程分支是我的主干来设法做到这一点。这样,我就能够仅从该分支创建只包含修订历史的回购。

git svn clone -T branches/somefeature http://example.com/PROJECT

我使用以下网址作为参考

https://gist.github.com/trodrigues/1023167

答案 1 :(得分:0)

您可以使用// Copy stat info buttons to fieldset var statInfoBtnTdParentOld = $('#changeStatusBtn').parent().prev(); var statInfoBtnTdOld = $('#changeStatusBtn').parent(); var statInfoBtnTdParent = statInfoBtnTdParentOld.clone(); var statInfoBtnTd = statInfoBtnTdOld.clone(); var statInfoBtnTr = $('<tr></tr>'); statInfoBtnTr.append(statInfoBtnTdParent); statInfoBtnTr.append(statInfoBtnTd); statInfoBtnTdParentOld.parent().remove();

限制历史记录的深度