问题 git svn clone在cygwin下死于信号11


我有问题 git svn 下 cygwin

user@comp /cygdrive/c/repositories/git/repo $git svn clone --username=username "https://host/svn/repos/repo" .
Initialized empty Git repository in /cygdrive/c/repositories/git/repo/.git/
error: git-svn died of signal 11

怎么办呢?

user@comp ~ $svn --version
svn, version 1.6.15 (r1038135)
   compiled Nov 29 2010, 14:09:28

user@comp ~ $git --version
git version 1.7.4

1361
2018-03-12 12:13


起源

与centos 4.8有同样的事情。您是否尝试在简单的perl脚本中使用SVN :: Client? - Elazar Leibovich
不,我怎么能这样做? - kingoleg
我有 git version 1.7.9-rc1 和 svn version 1.8.5 (r1542147)。 perl --version 显示器 This is perl 5, version 14, subversion 2 (v5.14.2) built for cygwin-thread-multi-64int (with 7 registered patches, see perl -V for more detail). 这是镜像“mirrors.kernel.org”上的最新版本。下一个命令 perl -e 'require SVN::Core; print "$SVN::Core::VERSION\n"' 成功执行。但 git svn fetch 和 git svn rebase 还是表明 error: git-svn died of signal 11。我还能尝试做什么? - wwarlock
好吧,我已经将颠覆降级为 1.7.14 并得到一个错误 perl unable to remap cygsvn_client-1-0.dll to same address as parent - try running rebaseall。我退出了cygwin,开始了 ash 然后呢 rebaseall 在我的工作目录中(但也许可以在之后运行 ash 启动)。我已经开始了 cygwin 再次和 git svn rebase 做了所有工作没有错误。可能是svn之后的新版本 rebaseall 也会工作,我现在没时间测试它。 - wwarlock


答案:


我在这里找到了一个好的提示:
http://pwizardry.com/devlog/index.cgi/2010/03/29#svn2git

如果您cd到新存储库并键入
git svn fetch
  它将继续它离开的地方。

我有同样的问题,解决方案似乎对我有用。


11
2017-07-02 15:28





我这个问题花了5个小时。我试图使用来自cygwin的git。但不幸的是...... 这个哈欠

git-svn died signal 11

在尝试的时候

git svn clone http://repo.com/path/to/my/repo.git -s

真的很生气...加法我在工作之后在我的工作地点做... :)我们用代理连接到我们网络的svn repo。 我曾经尝试过rebaseall ... Serf互联网解决问题...但不幸的是不幸(Нефортанулонеповезло......)...

所以我决定,我,他妈的,解决这个问题!

我在神圣的日子里去做,并做到这一点:

  • 从我的cygwin中删除git包。
  • 从我的Windows环境中删除任何其他git安装(如tortoisegit)
  • 下载并安装msysgit(http://msysgit.github.io/
  • 安装它。
  • 配置git以使用代理,如下所示。
  • 运行cmd。
  • 执行 git config --global http.proxy http://my.proxy.com:8080
  • 现在我们需要在运行git svn时配置svn以使用代理 克隆。否则你会收到这个错误:

    RA layer request failed: PROPFIND request failed on '/svn/repos/my-project': PROPFIND of '/svn/repos/my-project': could not connect to server (https://my.svn.repository.behinde.proxy.com) at /usr/lib/perl5/site_perl/Git/SVN.pm line 310    
    

这有点棘手。对于它我们需要编辑 /.subversion/servers 在 home 夹。不 %appdata%\.subversion\servers 不是 c:\users\userlogin\.subversion\servers 没有!你需要做下一个:

  • 从中运行git bash(安装msysGit之后)

    "Start" -> all programms -> git -> Git bash.`
    

这是一个指向的链接 "C:\Program Files (x86)\Git\bin\sh.exe" --login -i 在我的情况下

  • 现在你需要执行“cd”命令。
  • 现在做

    ls -al
    

    寻找 .subversion 夹

  • 现在编辑此文件夹下的文件 vi .subversion/servers 你需要找到部分 [groups] 并将您的服务器添加到您想要建立代理连接的位置,例如:

    [groups]
        myserver = www.some.server.com
    
  • 现在在同一个文件中添加如下字符串:

    [myserver]
        http-proxy-host = http[or https]://[login:password_to_proxy@]my.proxy.com
        http-proxy-port = 8080your proxy port
    

例如:

    [myserver]
        http-proxy-host = http://my.proxy.com
        http-proxy-port = 8080

现在你配置你所需要的一切(我希望:)) 现在你可以运行cmd并制作 git svn clone https://your.repository.com/path/to/repo -s

并使用git svn与svn合作以获得乐趣。 :)


3
2018-02-22 15:44



谢谢。这节省了我的一天,就像在公司环境中一样 .subversion\server 在... %HOMESHARE%,但在一个独立的Windows安装下 %USERPROFILE%。和 Git bash 知道在哪种情况下查看。 - Jeroen Wiert Pluimers
“现在你需要执行”cd“命令。”所以? - daniel sp
什么?执行“cd”命令转到您的用户主目录。 - Pavel


试试跑步 perl -e 'require SVN::Core; print "$SVN::Core::VERSION\n"'。在你的情况下应该打印'1.6.15'。如果它反而吐出错误,则可能意味着您没有安装perl SVN模块。尝试在cygwin中安装'subversion-perl'包。


1
2018-03-18 02:08



user@comp $perl -e 'require SVN::Core; print "$SVN::Core::VERSION\n"' 1.6.15 - kingoleg
perl -e'需要SVN :: Core;打印“$ SVN :: Core :: VERSION \ n”'给我分段错误。但是在.pl文件中编写代码然后执行perl脚本会产生输出'1.6.11'。应该没关系,我想。是吗? - Ninad


在我的情况下,这是由于无法访问存储库。

我必须添加我的代理设置 ~/.subversion/servers 让svn能够检查出来。


0
2017-09-26 12:19



确实值得检查SVN / subversion代理设置,这解决了我的问题。 - Christian Müller


它似乎 git-svn 崩溃了 分段故障 (这可能表示软件错误)。该 git-svn 可执行文件只是一个简单的perl脚本,所以要修复它你有以下几种可能:

  • 升级 perl 并确保它使用该新版本,
  • 尝试改变 家当 的 git-svn 二进制升级 perl
  • 重新安装 subversion 使用升级绑定到perl:

    • OS X: brew reinstall subversion --with-perl 然后brew link --overwrite subversion
    • Linux的: apt-get install git-svn libsvn-perl
  • 找到其他非崩溃的 git-svn并使用它们,例如

    which -a git-svn
    locate git-svn | grep git-svn$
    

如果您使用的是OS X,请检查更多想法 这里


0
2018-03-18 22:39