Git Svn获取更多修订

时间:2009-11-24 07:00:01

标签: git git-svn

我在我们的svn存储库中使用git-svn。然而,回购是巨大的,所以我首先检查了这个项目:

git svn clone svn://svn.server.com/project -s -r 12000:HEAD

所以,现在我只修改了当前版本的12000。我想查看更多修订版,但以下内容无效:

git svn fetch -r 11000:HEAD

有没有办法获取较旧的版本?

4 个答案:

答案 0 :(得分:9)

我认为这不是真的支持,这样做会重新整理整个存储库,这通常被视为一件坏事。 (虽然纯粹的git非常乐意通过这样做让你自己在脚下射击)我没有办法做到这一点,即使在摆弄.git / svn中的数据之后。您可以检查未检索到的旧版本的分支和标签,但是一旦检索到分支,就无法返回并获取更多历史记录。

我等了6个小时才能获得50k版本的回购克隆,所以我知道你的痛苦。如果你真的想要这么多的历史,我建议让它一夜之间运行并抓住整个事情。

答案 1 :(得分:2)

我在git和git-svn方面不够专业,无法充分利用它,但你应该能够{s}将你的svn变成新的回购,将该回购添加为远程并从您的起始仓库中获取它,然后在新仓库中的第一次提交(git svn clone)和新r12000中的之间添加嫁接点回购。这将把两段历史融合在一起。然后,可能需要更多补丁来保持git-svn正常运行。

答案 2 :(得分:1)

似乎this post有一个答案:基本上,你不能从克隆开始,而是从init和fetch开始。我自己(还)没试过......

答案 3 :(得分:-1)

我使用--fetch-all“svn-git fetch --all”

http://git-scm.com/docs/git-svn