From c53d696bcc2894b0df277e617740b15bac794df9 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 12 Dec 2006 16:45:00 -0800 Subject: [PATCH] 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 --- git-svn.perl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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}}) { -- 2.30.2