2010-08-20 83 views
2

我已经在我的SVN Repository上试过以下命令,通过git克隆一个分支。通过git svn克隆单个SVN分支的问题

git svn clone http://svn.supose.org/supose/branches/B_0.7.1 

而且得到了以下错误消息:

Initialized empty Git repository in /Users/km/workspace-supose/git/B_0.7.1/.git/ 
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: '/supose/!svn/bc/100/branches/B_0.7.1' path not found 
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history. 
This may take a while on large repositories 
error: git-svn died of signal 10 
mac:git km$ 


mac:git km$ git --version 
git version 1.7.1 

是否有人有一个想法是怎么回事?

更新: 我打开通过环境变量跟踪。试过了,它也失败了。更新到git 1.7.2,结果相同。

mac:git km$ git svn clone http://svn.supose.org/supose/branches/B_0.7.1 
trace: exec: 'git-svn' 'clone' 'http://svn.supose.org/supose/branches/B_0.7.1' 
trace: run_command: 'git-svn' 'clone' 'http://svn.supose.org/supose/branches/B_0.7.1' 
trace: built-in: git 'config' '--bool' '--get' 'svn.noauthcache' 
trace: built-in: git 'config' '--bool' '--get' 'svn.nometadata' 
trace: built-in: git 'config' '--get' 'svn.revision' 
trace: built-in: git 'config' '--get' 'svn.rewriteuuid' 
trace: built-in: git 'config' '--bool' '--get' 'svn.usesvmprops' 
trace: built-in: git 'config' '--bool' '--get' 'svn.nocheckout' 
trace: built-in: git 'config' '--get' 'svn.authorsprog' 
trace: built-in: git 'config' '--bool' '--get-all' 'svn.branches' 
trace: built-in: git 'config' '--bool' '--get' 'svn.usesvnsyncprops' 
trace: built-in: git 'config' '--bool' '--get' 'svn.followparent' 
trace: built-in: git 'config' '--get' 'svn.prefix' 
trace: built-in: git 'config' '--bool' '--get' 'svn.useSvmProps' 
trace: built-in: git 'config' '--get' 'svn.authorsfile' 
trace: built-in: git 'config' '--get' 'svn.username' 
trace: built-in: git 'config' '--bool' '--get' 'svn.stdlayout' 
trace: built-in: git 'config' '--get' 'svn.repackflags' 
trace: built-in: git 'config' '--bool' '--get' 'svn.localtime' 
trace: built-in: git 'config' '--int' '--get' 'svn.repack' 
trace: built-in: git 'config' '--get' 'svn.template' 
trace: built-in: git 'config' '--get' 'svn.ignorepaths' 
trace: built-in: git 'config' '--bool' '--get' 'svn.minimizeurl' 
trace: built-in: git 'config' '--get' 'svn.rewriteroot' 
trace: built-in: git 'config' '--bool' '--get' 'svn.quiet' 
trace: built-in: git 'config' '--int' '--get' 'svn.logwindowsize' 
trace: built-in: git 'config' '--get' 'svn.shared' 
trace: built-in: git 'config' '--get' 'svn.configdir' 
trace: built-in: git 'config' '--bool' '--get' 'svn.addauthorfrom' 
trace: built-in: git 'config' '--bool' '--get' 'svn.noMetadata' 
trace: built-in: git 'config' '--bool' '--get' 'svn.useSvnsyncProps' 
trace: built-in: git 'config' '--bool' '--get-all' 'svn.tags' 
trace: built-in: git 'config' '--get' 'svn.trunk' 
trace: built-in: git 'config' '--bool' '--get' 'svn.uselogauthor' 
trace: built-in: git 'init' 
Initialized empty Git repository in /Users/km/workspace-supose/git/B_0.7.1/.git/ 
trace: built-in: git 'config' '--bool' 'svn.useSvmProps' 
trace: built-in: git 'config' '-l' 
trace: built-in: git 'config' '--get' 'svn-remote.svn.url' 
trace: built-in: git 'config' '-l' 
trace: built-in: git 'config' 'svn-remote.svn.url' 'http://svn.supose.org/supose/branches/B_0.7.1' 
trace: built-in: git 'config' '--add' 'svn-remote.svn.fetch' ':refs/remotes/git-svn' 
trace: built-in: git 'config' '--bool' 'svn.useSvmProps' 
trace: built-in: git 'config' '-l' 
trace: built-in: git 'config' '--get' 'svn-remote.svn.fetch' ':refs/remotes/git-svn$' 
trace: built-in: git 'config' '--get' 'svn-remote.svn.url' 
trace: built-in: git 'config' '--get' 'svn-remote.svn.uuid' 
trace: built-in: git 'config' 'svn-remote.svn.reposRoot' 'http://svn.supose.org/supose' 
trace: built-in: git 'config' '--get' 'svn-remote.svn.usesvmprops' 
trace: built-in: git 'config' '--add' 'svn-remote.svn.uuid' 'd38d36a4-06d2-11df-b1fb-6b773c2c1a53' 
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: '/supose/!svn/bc/100/branches/B_0.7.1' path not found 
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history. 
This may take a while on large repositories 
trace: built-in: git 'config' '--get' 'svn-remote.svn.nometadata' 
trace: built-in: git 'config' '--get' 'svn-remote.svn.followparent' 
trace: built-in: git 'config' '--bool' '--get' 'svn.brokenSymlinkWorkaround' 
trace: built-in: git 'config' '--get' 'svn-remote.svn.ignore-paths' 
trace: built-in: git 'update-index' '-z' '--index-info' 
trace: built-in: git 'config' 'svn-remote.svn.reposRoot' 'http://svn.supose.org/supose' 
error: git-svn died of signal 10 
+1

更新后的GIT和SVN绑定现在可以使用。谢谢。 – khmarbaise 2010-08-24 17:33:47

回答

2

git-svn实际上是一个Perl脚本。 git可执行文件本身就是一个启动其他程序的程序。 "died of signal"消息来自git启动器。信号10是通常是 SIGBUS。这可能意味着一些事情:

  • 没有用Perl问题
  • 没有与颠覆Perl绑定问题
  • 没有与Subversion客户端的问题

它也可能意味着您遇到了git-svn中的错误,但似乎高度不太可能(Perl脚本中的错误应该是永远不会造成Perl到总线错误)。

我会检查上述所有版本,并验证它们是否都是相互兼容的。

1

一个良好的开端将是设置GIT_TRACE环境变量1.我是一个git的用户,而不是用户SVN,所以我不知道您的具体问题是什么,但它”会给你更多的冗长。

更新:我一直在阅读更多的文档,在我看来,你可能无法克隆单一分支本身;你可能只能克隆至少干线和感兴趣的分支。从查看文档看,分支是SVN中的二等公民,而不是trunk,而不是分支更模块化的git。老实说,最简单的事情可能是克隆整个回购。

但如果你真的不想要,你也许可以破解的解决方案一起:在回购这样

git svn init --stdlayout http://svn.supose.org/supose 

然后编辑的.git /配置:

[svn-remote "supose"] 
     url = http://svn.supose.org/supose 
     fetch = trunk:refs/remotes/trunk 
     branches = branches/B_0.7.1:refs/remotes/branches/* 

然后git svn fetch

这是在黑暗中的一枪,但它可能工作。

更新2:好吧,那么多(见下面的评论)。丹的建议似乎最好;但如果您想从脚本中获取更多信息,请运行git --exec-path以查找您的git命令可执行文件。然后将-d选项添加到git-svn的第一行(即#!/usr/bin/perl变为#!/usr/bin/perl -d)。这可能会揭示故障发生的位置。只要记得在完成之后将其删除!

+0

尝试克隆单个Subversion分支(或任何任意子目录)没有任何问题。它应该工作得很好。 – 2010-08-20 15:44:27

+0

谢谢;我不确定。荣誉指导我远离雁大通:)我很困惑为什么跟踪在git配置期间据说死了。也许我们应该看看它得到的perl有多远。 – 2010-08-20 18:45:24