Skip to content

git svn fetch failed (on svn tagging commit) #99

Open
@przemoc

Description

@przemoc

I'm trying to rebase my vapoursynth svn2git repo (that was initiated with svn2git -v --revision 2 http://vapoursynth.googlecode.com/svn/ command some time ago), but git svn fetch is failing on the svn commit performing tagging. (Same thing happens if you want to run svn2git from scratch.)

$ svn2git --rebase --verbose
Running command: git status --porcelain --untracked-files=no
Running command: git branch -l --no-color
* master
Running command: git branch -r --no-color
  repo.or.cz/master
  svn/trunk
Running command: git svn fetch
Found possible branch point: http://vapoursynth.googlecode.com/svn/trunk => http://vapoursynth.googlecode.com/svn/tags/R15, 331
Use of uninitialized value $u in substitution (s///) at /usr/share/perl5/Git/SVN.pm line 106.
Use of uninitialized value $u in concatenation (.) or string at /usr/share/perl5/Git/SVN.pm line 106.
refs/remotes/svn/trunk: 'http://vapoursynth.googlecode.com/svn' not found in ''

command failed:
2>&1 git svn fetch

I upgraded to git 1.8.0 (from debian unstable repository), but it didn't help.

The referenced part of SVN.pm is below

 89 sub resolve_local_globs {
 90         my ($url, $fetch, $glob_spec) = @_;
 91         return unless defined $glob_spec;
 92         my $ref = $glob_spec->{ref};
 93         my $path = $glob_spec->{path};
 94         foreach (command(qw#for-each-ref --format=%(refname) refs/#)) {
 95                 next unless m#^$ref->{regex}$#;
 96                 my $p = $1;
 97                 my $pathname = desanitize_refname($path->full_path($p));
 98                 my $refname = desanitize_refname($ref->full_path($p));
 99                 if (my $existing = $fetch->{$pathname}) {
100                         if ($existing ne $refname) {
101                                 die "Refspec conflict:\n",
102                                     "existing: $existing\n",
103                                     " globbed: $refname\n";
104                         }
105                         my $u = (::cmt_metadata("$refname"))[0];
106                         $u =~ s!^\Q$url\E(/|$)!! or die
107                           "$refname: '$url' not found in '$u'\n";
108                         if ($pathname ne $u) {
109                                 warn "W: Refspec glob conflict ",
110                                      "(ref: $refname):\n",
111                                      "expected path: $pathname\n",
112                                      "    real path: $u\n",
113                                      "Continuing ahead with $u\n";
114                                 next;
115                         }
116                 } else {
117                         $fetch->{$pathname} = $refname;
118                 }
119         }
120 }

I don't see anything special in r332. Any ideas what's wrong and how it can be fixed? It's definitely not about quoting apostrophes or quotation marks, as they aren't there.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions