2010-12-02 34 views
6

我正在使用git来颠覆桥检查subversion版本库。起初,我用这个命令,Git使用Subversion桥下载trunk

get svn clone -s svn://repositoryName/etc 

但是我们颠覆存储库是巨大的,多年的发展,许多树枝等的

的后果是,过程中经常死了,当它被压缩库内存使用量超过1.5 GB,并且死亡。

所以我想也许我会试试看,因为这是我将主要使用的主干。所以我试过这个,

get svn clone -trunk svn://repositoryName/etc 

但是我得到一个错误,在模式匹配中使用未初始化的值。

有人可以告诉我正确的命令只用于检查中继线。还有一个已知的错误/内存泄漏?我在Windows上使用Git 1.7.3.1-preview20201002版本。

是否有官方文档的git和命令行选项?

回答

13

这应该工作:

git svn clone svn://repositoryName/whatever/trunk 

的--trunk选项是不是你要找的东西。这是一种指定通常称为“trunk”的目录名称的方法。例如,如果你的svn版本库在主开发中使用“/ main”,可以使用“/发布”而不是“/ tags”和“/ other”而不是“/ branches”,而不是使用-s( - 标准)选项:

git clone --trunk=main --tags=releases --branches=other svn://repositoryName/whatever 

然而,一个更好的选择可能是克隆库起始于特定SVN版本号:

git svn clone -r 20000 svn://repositoryName/whatever 
cd whatever 
git svn rebase 

clone -r 20000将只克隆SVN版本号20000,然后git svn rebase将取并在20000之后应用所有修订版,所以您将留下一个具有从修订版20000开始的历史记录的git存储库。

手册页是最适合文档的地方。如果你没有安装它们,kernal.org的副本格式很好:http://www.kernel.org/pub/software/scm/git/docs/。谷歌搜索“man git svn”将快速显示相关页面。

+0

谢谢,你的建议非常感谢。 – peter 2010-12-03 00:04:19