我正在使用svn2git(the good one)将一些svn存储库转换为git存储库。
它有一个命令行参数--svn-branches
创建分支时使用svn的内容,注意:svn标记也是分支
这个命令行参数的优缺点是什么。
只是没有它会更快,因为只创建了一个git标记,而不是整个工作树都被转储了,有了它,更安全的是拥有正确的状态,因为整个工作树都被转储了,还是还有更多?
您建议使用或忽略此参数吗?
最佳答案
MoveToGit/UsingSvn2Git手册页提到:
递归行为是一种黑客行为,它告诉Svn2GIT递归地复制它刚刚复制的目录,或者因为它感兴趣而存在。
示例:如果我们导入kdelibs
,它存在于trunk/KDE/kdelibs
。在分支机构,有人做到了:
svn cp $SVNROOT/trunk/KDE $SVNROOT/branches/KDE/4.4
该提交中记录的svn
branches/KDE/4.4
是唯一更改的路径。这意味着规则
branches/KDE/[^/]+/kdelibs/
不匹配。
我们需要告诉这个工具里面发生了一些有趣的事情,它应该会重新出现。然后,它将再次将所有规则应用于在该点存在的文件,此时规则将匹配。
我怀疑这个选项与“递归操作”有关。