【问题标题】:Git Svn - Found possible branch pointGit Svn - 找到可能的分支点
【发布时间】:2013-03-13 14:15:43
【问题描述】:

我正在尝试使用 git svn 将 SVN 存储库克隆到 Git 中。

我运行以下命令:

C:\Projects>git svn clone -T trunk -b branches -t tags --no-metadata https://svn.mycompany.com/Projects/MyProjectMyProject

我收到以下错误:

找到可能的分支点: https://svn.mycompany.com/Projects/MyProject/trunk => https://svn.mycompany.com/Projects/MyProject/tags/11.1.9.33334, 33334

在替换 (s///) 处使用未初始化的值 /usr/lib/perl5/site_perl/Git/SVN.pm 第 106 行。

在连接 (.) 或字符串中使用未初始化的值 /usr/lib/perl5/site_perl/Git/SVN.pm 行 106.refs/remotes/MyProject-10.2: 'https://svn.mycompany.com/Projects' 未在''中找到

git 的版本是:

1.8.1.msysgit.1

【问题讨论】:

  • 提示:possible branch point 消息正常,没有错误。
  • 好的...但是我的repo文件夹不包含主干分支或标签....里面唯一的东西是.git文件夹
  • 没有标签https://svn.mycompany.com/Projects/MyProject/tags/11.1.9.33334?你应该提到这个......
  • git 的哪个版本? Use of initialized value ... 位可能表示错误...也许尝试更新版本...就此而言,svn 的版本是什么(尽管我不确定是否有直接依赖关系...)?
  • 不确定什么版本的 svn,但 git 是最新的...今天安装。

标签: git git-svn


【解决方案1】:

我的问题是,由于 SVN(文件和日志)太大,它在某些时候一直崩溃,当我重新启动它时,它在我的 .git/config 文件中创建了多行分支和标签。

branches = branches/*:refs/remotes/svn/branches/*
tags = tags/*:refs/remotes/svn/tags/*

我只是删除了这些重复的条目并使用我的命令重新启动

git svn fetch

【讨论】:

  • 我遇到了同样的问题,但是对于 svn2git,我删除了所有分支和标签条目,因为 svn2git 在“恢复”时添加了它们。感谢您的提示。
  • 为我工作。我用“git svn fetch”继续
  • 在 .git/config 文件中删除重复项后为我工作。谢谢。
  • 结合删除 .git\config 中的两个额外行,然后在 @Wolfgang 写作时使用“git svn fetch”恢复。
  • 感谢 @ryan-hayes 的编辑,知道我是多么想念那个!
【解决方案2】:

我遇到了同样的错误并通过升级到git version 2.6.2.windows.1解决了它

【讨论】:

    【解决方案3】:

    同样的错误。我正在将我的 SVN 存储库转换为 Git。

    git version 2.8.2.windows.1
    Windows 8.1 Pro 64bits, running Git For Windows 32bits.
    

    v1,trunk地址错误,错误设置为和repository root一样:

    C:\Windows\system32>git svn clone https://mycompany.svn.beanstalkapp.com/myproject 
            --no-metadata -A c:\temp\svn_to_git_users.txt 
            --trunk=https://mycompany.svn.beanstalkapp.com/myproject 
            --tags=https://mycompany.svn.beanstalkapp.com/myproject/tags 
            --branches=https://mycompany.svn.beanstalkapp.com/myproject/branches
            c:\code\Git_myproject
    
    [...]
    W: +empty_dir: branches/20080918_DBDEPLOY/vendor/src/csharp/MS WCSF Contrib/src/Services
    W: +empty_dir: branches/20080918_DBDEPLOY/vendor/src/csharp/RealWorldControls/References
    r530 = c276e3b039d8e38759c6fb17443349732552d7a2 (refs/remotes/origin/trunk)
    Found possible branch point: https://mycompany.svn.beanstalkapp.com/myproject/trunk => https://mycompany.svn.beanstalkapp.com/myproject/branches/20080918_DBDEPLOY, 529
    Use of uninitialized value $u in substitution (s///) at /mingw32/share/perl5/site_perl/Git/SVN.pm line 101.
    Use of uninitialized value $u in concatenation (.) or string at /mingw32/share/perl5/site_perl/Git/SVN.pm line 101.
    refs/remotes/origin/trunk: 'https://mycompany.svn.beanstalkapp.com/myproject' not found in ''
    
    C:\Windows\system32>
    

    v2 有效:更正了路径(并使用相对而不是绝对来缩短行)

    C:\Windows\system32>git svn clone https://mycompany.svn.beanstalkapp.com/myproject 
            --no-metadata -A c:\temp\svn_to_git_users.txt --trunk=trunk 
            --tags=tags --branches=branches c:\code\Git_myproject
    [...]
    r529 = 40442d32486f4ca6f713e659b3785a446bd19de6 (refs/remotes/origin/trunk)
    Found possible branch point: https://mycompany.svn.beanstalkapp.com/myproject/trunk => https://mycompany.svn.beanstalkapp.com/myproject/branches/20080918_DBDEPLOY, 529
    Found branch parent: (refs/remotes/origin/20080918_DBDEPLOY) 40442d32486f4ca6f713e659b3785a446bd19de6
    Following parent with do_switch
    Successfully followed parent
    r530 = 9fefc1b3a892555e315d55c2024cdf3d3a05010f (refs/remotes/origin/20080918_DBDEPLOY)
            A       src/database/sds.dbd
    [...]
    

    按照其他人的建议,我打开了配置文件(C:\code\Git_myproject.git\config),第一个版本(损坏)如下。与 v2 相比,fetch 可能是错误的(分支和标签也重复,有人说这也可能导致问题)。

    [svn-remote "svn"]
    noMetadata = 1
    url = https://mycompany.svn.beanstalkapp.com/myproject
    fetch = :refs/remotes/origin/trunk
    branches = branches/*:refs/remotes/origin/*
    tags = tags/*:refs/remotes/origin/tags/*
    branches = branches/*:refs/remotes/origin/*
    tags = tags/*:refs/remotes/origin/tags/*
    

    第二个版本(工作)是:

    [svn-remote "svn"]
    noMetadata = 1
    url = https://mycompany.svn.beanstalkapp.com/myproject
    fetch = trunk:refs/remotes/origin/trunk
    branches = branches/*:refs/remotes/origin/*
    tags = tags/*:refs/remotes/origin/tags/*
    

    查看 svn.pm,我可以看到我们在 find_parent_branch() 中,它输出消息 "Found possible branch point"。然后它调用 other_gs($new_url, $url, $branch_from, $r, $self->{ref_id}); 它本身调用: Git::SVN->find_by_url($new_url, $url, $branch_from); 调用: resolve_local_globs($u, $fetch, $globspec); resolve_local_globs 是在第 100/101 行引发错误的地方:

    my $u = (::cmt_metadata("$refname"))[0];
    $u =~ s!^\Q$url\E(/|$)!! or die
    

    我确实在命令行中犯了一个错误,修复我的主干路径消除了错误。我从来没有删除配置文件中的重复行,它们是在重新运行命令时自动调整的。

    【讨论】:

      猜你喜欢
      • 2016-10-05
      • 1970-01-01
      • 2011-07-07
      • 2017-10-11
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 2012-10-19
      • 2013-05-28
      相关资源
      最近更新 更多