在将svn代码库克隆到git时,我应该仅克隆主干(trunk)还是整个代码库?

6
2个回答

8

为了保险起见,我建议你首先克隆所有内容,以防以后需要使用其他分支,可以使用以下命令:

git svn clone --stdlayout http://svn.osqa.net/svnroot/osqa/

在这种情况下,我认为没有任何特别的理由不这样做,因为即使使用所有分支,git svn clone仓库的大小也只有11兆字节。如果您对其他分支感兴趣,以后处理事情会更容易。

等一下,克隆已经完成了吗?对我来说,它运行了好久... :( - ripper234
我没有使用--stdlayout开关。我应该使用吗?https://dev59.com/VG435IYBdhLWcg3wigkk - ripper234
很酷,现在我理解了“--stdlayout”,克隆所有分支似乎是很合理的。 - ripper234
这就是我在回答中提出的建议 :) 如果存储库的布局是默认的(这是您提到的存储库的情况),那么这是抓取所有分支和标签的简单方法。 - Mark Longair

1
问题在于,通常情况下(包括您的情况),子版本分支通过标准命名约定 TOPLEVEL/branches/...进行公开。git的做法不是那么明确-也就是说,如果您执行git checkout BRANCH_NAME,则分支文件将“交换”到当前工作目录中。
考虑到这一点,我建议仅导入主干,然后根据需要将TOPLEVEL/branches/branchname目录中的所有目录作为git分支导入。

1
你知道--stdlayout吗? - ripper234

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接