1

我目前正在从一个有很多分支和标签的 svn 存储库中进行 git svn 克隆,这需要很长时间(2 小时并且还在计数)。它是从所有分支获取文件内容,还是仅从主干获取文件内容?如果是前者,它是否足够聪明,可以查看何时创建分支,从而不会抓取重复文件?

4

1 回答 1

2

Git-svn 非常慢,因为它会向 subversion 服务器询问每个提交并在本地一个一个地重放它们。因此,Git 存储库包含操作完成时的所有内容(主干、分支和标签)。但这需要非常非常长的时间。

git-svn 命令有 IMO 两个主要问题:

  • 它无法过滤掉与您尝试克隆的 svn 子树无关的修订(即,即使它们不影响您正在克隆的子树,它也会从 SVN 根文件夹获取每个提交)
  • 它从一开始就获取提交,防止您在完成之前开始工作。

我建议你看看 SmartGit 客户端 ( syntevo.com/smartgit ),它实现了一个完全重构的 git 到 svn 桥接层。有了它,只需几分钟即可克隆并准备好 svn 存储库。在几秒钟内首先检索最后一个修订,然后在后台获取其余的修订,这样您就可以非常快速地开始工作。

于 2012-05-10T19:43:31.317 回答