Git Svn - Found possible branch point

前端 未结 3 1657
無奈伤痛
無奈伤痛 2020-12-29 02:38

I\'m trying to use git svn to clone a SVN repo into Git.

I run the following command:

C:\\Projects>git svn clone -T trunk -b bran

相关标签:
3条回答
  • 2020-12-29 03:04

    Same error. I am converting my SVN repository to Git.

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

    v1, trunk address is wrong, set by mistake to same as 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 works: corrected the paths (and using relative instead of absolute to make line shorter)

    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
    [...]
    

    As suggested by others, I opened the config file (C:\code\Git_myproject.git\config) and the first version (broken) was as follow. The fetch is probably the wrong thing comparing with v2 (branches and tags are duplicated too, some people say it might also cause problems).

    [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/*
    

    and the 2nd version (working) was:

    [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/*
    

    Looking at svn.pm, I can see we're in find_parent_branch() which outputs the message "Found possible branch point". It then calls other_gs($new_url, $url, $branch_from, $r, $self->{ref_id}); which itself calls: Git::SVN->find_by_url($new_url, $url, $branch_from); which calls: resolve_local_globs($u, $fetch, $globspec); and resolve_local_globs is where the error is thrown on line 100/101:

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

    I made a mistake in my command line for sure, fixing my trunk path removed the error. I never removed duplicate lines in the config file, they were adjusted automatically when re-running the command.

    0 讨论(0)
  • 2020-12-29 03:23

    My problem was that due to such a large SVN (files and log) that it kept crashing at some points and when I restarted it created multiple lines of the branches and tags within my .git/config file.

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

    I simply removed the duplicate entries of these and restarted with my command

    git svn fetch
    
    0 讨论(0)
  • 2020-12-29 03:26

    I had the same error and solved it by upgrading to git version 2.6.2.windows.1

    0 讨论(0)
提交回复
热议问题