【问题标题】:Why does git svn appear to hang when trying to clone?为什么尝试克隆时 git svn 似乎挂起?
【发布时间】:2019-02-27 03:38:54
【问题描述】:

我正在尝试将 svn 存储库克隆到 Windows 10 上的 git 中。为了了解存储库的大小,它包含 100 个修订版,当前(导出的)代码库在 430 个文件中约为 4MB。存储库没有“标准”根/分支/标签布局。

我的“匿名”命令是:

git svn clone https://my_svn_url --prefix=svn/ --no-metadata C:/my_folder_path

克隆命令报告“已初始化空 Git 存储库 ...”,我可以看到生成的文件夹,但除此之外,我看到一个 perl 进程正在吞噬 CPU,但什么也没发生。在放弃并终止进程之前,我已经让它运行了大约 15 分钟。

我的命令有问题吗?只是很慢吗? (我在 2.4GHz i7 笔记本电脑上运行,perl 进程大约占 18%)。是不是无法处理非标准的仓库布局?

【问题讨论】:

    标签: git svn


    【解决方案1】:

    考虑到几小时前发布的Git for Windows 2.21fix an obscure git svn hang (issue 1993),请务必先升级,看看问题是否仍然存在。

    git svn clonegit svn fetchgit svn rebase 都与 perl.exe 挂起,使用大约 18% 的 CPU。 降级到 2.20.0 一切正常。

    SVN 存储库是通过 https 并需要用户名和密码。 2.20.0 提示接受证书(自签名)。 2.20.1根本不提示。

    查看详情in this issue comment

    OP Zenilogix 确认 in the comments 问题是服务器上使用的 SVN 版本。

    我将服务器软件(仍在同一台旧服务器上)更新到 3.6.5(2017 年 12 月),现在似乎可以正常工作了。

    【讨论】:

    • 我按照建议升级了,但现在它不是挂起,而是在几秒钟后返回:“ 4 [main] perl 16792 cygwin_exception::open_stackdumpfile: 将堆栈跟踪转储到 perl.exe.stackdump” .和以前一样,我只剩下一个裸 git 存储库(在此失败之前没有创建任何东西)。我会附上堆栈转储,但我不知道在哪里寻找它。
    • @Zenilogix 你能用where gitgit --version检查Git是否确实是2.21吗?
    • @Zenilogix 您可以尝试在 CMD 中使用简化的 PATH 来查看问题是否仍然存在? (stackoverflow.com/a/54359814/6309)
    • git 版本 2.21.0.windows.1 ...我最初使用的是从 git 扩展启动的 git bash 窗口;尝试打开 cmd 窗口,PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Git\cmd ... 结果相同;找到 stackdump,第一行:异常:STATUS_ACCESS_VIOLATION at rip=00000000000
    • @Zenilogix 这确实是可能的。理想情况下,您可以考虑将该 SVN 存储库导入由更新的 SVN 服务器管理的存储库,仅用于测试,并从该服务器导入 git svn
    猜你喜欢
    • 2010-10-19
    • 2021-05-09
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多