2016-04-29 98 views
6

我使用svn2git(the good one)将一些SVN存储库转换为Git存储库。
它有一个命令行参数--svn-branches这与svn2git --svn-branches参数有什么优点和缺点

记录创建新的分支时,使用SVN的内容,注意事项:SVN标签分支机构以及

什么利弊利弊该命令行参数的

是不是因为只有一个Git标签被创建,而不是整个工作树被抛弃,并且由于整个工作树被倾销或者是否有更多的东西,因此更安全地拥有正确的状态?

您会不会建议使用或省略此参数?

回答

0

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/ 

将不匹配。

我们需要告诉工具,里面发生了一些有趣的事情,它应该递归。然后它会将所有规则再次应用到当时存在的文件中,这时规则将匹配。

我怀疑这个选项--svn-branches具有与“递归行动”

+0

如果是这样的话做的,这是为什么不是默认或工作的唯一支持的方式吗?不这样做听起来像你可以很容易地得到一个错误的/意想不到的结果。所以这至少应该是默认的行为,不是吗? – Vampire

+0

@BjörnKautler我同意,除非大部分时间,新的SVN分支意味着*额外的*文件,而不是删除的文件。 – VonC

+0

然后会丢失,不是吗?和其他文件一样坏,可能更糟 – Vampire

相关问题