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 <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Eric Wong 2006-12-12 16:45:00 -08:00 committed by Junio C Hamano
parent fa2376f3c8
commit c53d696bcc
1 changed files with 9 additions and 1 deletions

View File

@ -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}}) {