首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用git SVN克隆单个svn分支的问题

利用git SVN克隆单个svn分支的问题
EN

Stack Overflow用户
提问于 2010-08-20 13:53:19
回答 2查看 7.1K关注 0票数 3

我在上尝试了下面的命令,通过git只克隆一个分支。

代码语言:javascript
复制
git svn clone  http://svn.supose.org/supose/branches/B_0.7.1

但是得到了以下错误消息:

代码语言:javascript
复制
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

有人知道出了什么问题吗?

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

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-20 15:42:21

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

  • Perl
  • 存在问题,Subversion Perl绑定
  • 有问题,Subversion客户端

有问题

这也可能意味着您在git-svn中遇到了一个bug,但这似乎非常不可能( Perl脚本中的bug永远不会导致Perl总线错误)。

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

票数 2
EN

Stack Overflow用户

发布于 2010-08-20 14:10:44

一个很好的起点是将GIT_TRACE环境变量设置为1,我是一个git用户,而不是SVN用户,所以我不确定您的确切问题是什么,但是它会给您带来更多的详细信息。

更新:--我一直在阅读更多的文档,在我看来,您可能无法只克隆单个分支本身;您可能只能克隆主干和感兴趣的分支。从文档来看,与主干相比,分支在SVN中是二等公民,而在git中分支则更加模块化。老实说,最容易做的事情可能是克隆整个回购。

但是,如果你真的不想这样做的话,你也许可以一起破解一个解决方案:

代码语言:javascript
复制
git svn init --stdlayout http://svn.supose.org/supose

然后在回购中编辑. .git/config,如下所示:

代码语言:javascript
复制
[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: Ok,仅此而已(请参阅下面的评论)。Dan的建议似乎是最好的;但是如果您想从脚本中提取更多的信息,那么运行git --exec-path来查找git命令可执行文件。然后将-d选项添加到git-svn的第一行(即#!/usr/bin/perl变为#!/usr/bin/perl -d)。这可能会为故障的确切发生提供一些线索。当你做完它的时候,记得把它移除!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3531500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档