git svn clone死于cygwin下的11号信号

时间:2011-03-12 12:13:01

标签: git cygwin git-svn

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

5 个答案:

答案 0 :(得分:11)

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

  

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

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

答案 1 :(得分:3)

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

git-svn died signal 11

尝试时

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

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

所以,我决定,我在唠叨,解决这个问题!

我在神圣的日子里去做,然后这样做:

  • 从我的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一起工作。 :)

答案 2 :(得分:1)

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

答案 3 :(得分:0)

就我而言,原因是无法访问存储库。

我必须将代理设置添加到~/.subversion/servers,以便让svn能够将其检出。

答案 4 :(得分:0)

似乎git-svnSegmentation fault崩溃(这可能表示软件错误)。 git-svn可执行文件只是一个普通的perl脚本,所以要修复它,你有以下几种可能:

  • 升级perl并确保它使用该新版本
  • 尝试将git-svn二进制文件的 shebang 更改为已升级的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,请检查更多提示here