为什么"git svn fetch"命令似乎被卡住而什么也没做?

Sam*_*lle 34 git git-svn

编辑:解决方法. 现在我们了解问题,这是解决方案:做

git svn fetch -r REVISION:HEAD
Run Code Online (Sandbox Code Playgroud)

其中REVISION是分支创建的svn提交的编号.


我很高兴使用git svn在我项目的主干上工作了一段时间,但现在我还需要跟踪分支.

我试图初始化一个新的存储库来做到这一点

git init
git svn init https://svnserver/svn/repository
Run Code Online (Sandbox Code Playgroud)

然后我编辑本地配置文件以反映我的svn存储库的结构:

[svn-remote "svn"]
    url = https://svnserver/svn/repository
    fetch = path/to/trunk:refs/remotes/trunk
    branches = path/to/branches/*:refs/remotes/branches/*
Run Code Online (Sandbox Code Playgroud)

然后我跑了

git svn fetch
Run Code Online (Sandbox Code Playgroud)

而这个命令什么都不做:

  • 它不会终止
  • 它不会在控制台输出中写入任何内容
  • 它不使用任何CPU,也不创建文件

10分钟后我放弃了

我已经检查过svn存储库是否正常工作,因为git svn fetch在我的git存储库中完美运行,我只跟踪主干.

这是一个错误还是我错过了什么?

Ben*_*ueg 27

在获取第一个相关提交后,它变得冗长.

但是在获取提交之前,您可以通过检查.git\svn\.metadata文件来确保命令正常工作.

  • 在我看来,这个过程什么也没做。我在 SVN repo 所在的机器上运行了这个,但 CPU 甚至不到 5%。就像有一个 sleep 语句在过程开始时只持续 1 小时。 (2认同)

Ian*_*unn 10

尝试添加--log-window-size=5000参数。

如果仓库中有大量的提交,100默认情况下git-svn将一次通过它们。撞倒它可以极大地提高其速度。


nno*_*-OK 9

如果使用Windows版Git,请确保从2.20.1升级到上一个(2.20.0),下一个(2.21.0)或任何其他版本。提到的版本存在使“ git svn fetch”挂起错误,错误后来得到修复。