问题 Git Svn获取更多修订


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

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

所以,现在我只修改了当前版本的12000。我想查看一些更多的修订,但以下什么都不做:

git svn fetch -r 11000:HEAD

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


10722
2017-11-24 07:00


起源

可能是修订版11000不是当前HEAD的父级吗? - Mark van Lent


答案:


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

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


9
2018-03-30 00:53



我的项目的主干有超过600,000个修订版,即使在15个小时后我也无法克隆它。我不知道该怎么办。 - goyalshub1509


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


2
2017-08-05 12:28





它似乎 这个帖子 有一个答案:基本上,你不能从克隆开始,而是从init和fetch开始。我自己没试过......


1
2018-01-11 15:42



嗯......试过了,没用...... - Xavier Nodet


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

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


-1
2017-08-05 12:19