git-svn 克隆失败,出现意外情况。

7

我运行以下代码:

git svn clone --stdlayout --no-metadata -A users.txt -r 3760:4662 svn://kumquat.geoplan.ufl.edu/Projects/S4-Geocoding S4-Geocoding-SVN.git

它开始运行并且运行一段时间后表现良好,然后崩溃:

...
        M       S4.Geocoding.Client/App.xaml.cs
        M       S4.Geocoding.Client/MainPage.xaml.cs
        M       S4.Geocoding.Client/CodingPage.xaml
        M       S4.Geocoding.Client/CodingPage.xaml.cs
r4163 = 498dad8ce3730390393fc13b183fdbbff7108e6b (refs/remotes/trunk)
        M       S4.Geocoding.Client/CodingPage.xaml.cs
r4164 = 728b706b27d60d91659c144c3fac98cdbd1b09b2 (refs/remotes/trunk)
Found possible branch point: svn://kumquat.geoplan.ufl.edu/Projects/S4-Geocoding/trunk => svn://kumquat.geoplan.ufl.edu/Projects/S4-Geocoding/branches/auto-advance-crash-report-viewer, 4160
Use of uninitialized value $u in substitution (s///) at /usr/libexec/git-core/git-svn line 1728.
Use of uninitialized value $u in concatenation (.) or string at /usr/libexec/git-core/git-svn line 1728.
refs/remotes/trunk: 'svn://kumquat.geoplan.ufl.edu' not found in ''

发生了什么事情?我不知道从哪里开始排查这个问题。


去掉 --no-metadata 标志解决了这个问题。 - nw.
“Use of uninitialized value” 对我来说意味着这是一个真正的 Git bug。话虽如此,如果你找到了一个有效的解决方法,请将其作为答案明确地添加进去。 - me_and
3个回答

9

正如me_and所建议的那样,这很可能是Git的一个bug。在查看源代码后,发现问题与元数据有关。我通过删除--no-metadata标志来解决了这个问题。


2

此处此处所示,由于非标准svn结构导致传递错误的trunk将引起此错误。

Git 2.9将不再冗长(将更快地崩溃)。 请参见commit 523a33c(2016年5月7日)由Christian Couder (chriscool)撰写。
(由Eric Wong -- ele828 --commit 523a33c中合并,日期为2016年5月8日)

Git/SVN:没有提交元数据时退出

当向git svn clone传递错误的--trunk选项时,例如与我们正在克隆的URL相同时。

让我们解决这个问题,只需在未初始化值时结束程序(die()),因为我们无法从引用中获取提交元数据。

这避免了所有其他的错误消息,如下所示:

Found possible branch point...
Use of uninitialized value $u in substitution (s///) at...

0
我在我的Windows Visual Studio Code/Terminal面板上尝试了git svn clone --no-metadata $repo,结果遇到了类似的错误。
最后,如果我在PowerShell上运行这个git-svn-clone命令,问题就解决了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接