From: Eric Wong Date: Wed, 13 Dec 2006 00:45:00 +0000 (-0800) Subject: git-svn: correctly handle packed-refs in refs/remotes/ X-Git-Tag: v1.5.0-rc0~136 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=c53d696bcc2894b0df277e617740b15bac794df9;p=git.git git-svn: correctly handle packed-refs in refs/remotes/ We now use git-rev-parse universally to read refs, instead of our own file_to_s function (which I plan on removing). Signed-off-by: Eric Wong Signed-off-by: Junio C Hamano --- diff --git a/git-svn.perl b/git-svn.perl index c746a3c62..15254e479 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -2027,9 +2027,17 @@ sub git_commit { # just in case we clobber the existing ref, we still want that ref # as our parent: - if (my $cur = eval { file_to_s("$GIT_DIR/refs/remotes/$GIT_SVN") }) { + open my $null, '>', '/dev/null' or croak $!; + open my $stderr, '>&', \*STDERR or croak $!; + open STDERR, '>&', $null or croak $!; + if (my $cur = eval { safe_qx('git-rev-parse', + "refs/remotes/$GIT_SVN^0") }) { + chomp $cur; push @tmp_parents, $cur; } + open STDERR, '>&', $stderr or croak $!; + close $stderr or croak $!; + close $null or croak $!; if (exists $tree_map{$tree}) { foreach my $p (@{$tree_map{$tree}}) {