【问题标题】:Why does `git-svn` hang at `Found possible branch point:`为什么`git-svn`挂在`找到可能的分支点:`
【发布时间】:2016-10-05 11:32:07
【问题描述】:

几天后,我的git-svn 挂在Found possible branch point: .../trunk => .../branches/foo, 8809 上,而我做git svn fetch

克隆实际上已经在修订版163671 上。 我的盒子最近死机了,所以可能是在git svn fetch 期间出现了卡住问题,我不得不重新启动我的 Windows 机器。

我试图将.git/svn/ 移开并让git svn 恢复,但它只是重建trunk 和其他一些,然后再次挂在完全相同的位置。

除了需要一周左右的新 git svn clone 之外,有谁知道为什么它会突然挂在那里以及如何恢复。如果有其他方法,我更愿意。

【问题讨论】:

  • 确保您使用的是最新版本的 Git。我在使用 pre-2.5 git-svn 时遇到了很多问题。
  • @Will 是 2.8.1.windows.1
  • @Will,2.8.3 也没什么区别
  • 我已经使用来自 Linux 的 Git + git-svn 来处理 100K+ 修订版存储库而没有问题。您的 originalgit svn clone <url> 命令是否真的完成了,而您只是想获取最近签入的内容?您是否从存储库的根目录克隆?另外,我通常使用git svn rebase 来获取来自上游的最新更改,而不是fetch。克隆时是否使用参数指定了上游目录branchestagstrunk 的路径?
  • @ray 是的,我多年来一直使用这个 repo。是的,我从根目录克隆并使用-s 进行分支/标签布局。 git svn rebase 只做一个git svn fetch 然后一个git rebase。我有一份工作每 15 分钟运行一次并执行 git svn fetch,这样当我想要更新或 dcommit 时我不必等待很长时间,这样我就可以在本地拥有所有分支内容。实际上,我通过将-r 用于git svn fetch 并指定一个我知道已为所有分支获取的修订版,现在它再次正常工作,从而解决了问题。仍然很好奇如果再次发生它为什么会挂起。

标签: git svn version-control git-svn svn2git


【解决方案1】:

新鲜克隆不应需要数周时间。你总是可以做一个浅的 git-svn 克隆(见 -r 选项)来加快速度。或者,如果您可以访问 Linux 框 - 在那里克隆并将 repo 复制到您的 Windows 工作站。众所周知,Git-svn clone 的获胜速度很慢。

【讨论】:

  • 浅克隆是没有用的,因为它没有历史记录,而且慢的部分是我们的 SVN 服务器,它是死跛脚的,据我所知,上次导入大约 160.000 个修订版花了大约 1 周的时间。
  • 完整克隆需要多少历史才能等待一周?
  • 我需要所有的历史。项目的历史是项目的一部分。没有你就无法注释和查看事情是如何变化的。说源代码历史不重要的人显然是短视的。
  • 除此之外,我想知道为什么它不起作用,而不仅仅是一种解决方法。
  • 和新的克隆不起作用,因为它死于信号 11 :-(
猜你喜欢
  • 1970-01-01
  • 2021-10-06
  • 1970-01-01
  • 2011-07-07
  • 2017-10-11
  • 2011-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多