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>
This commit is contained in:
Eric Wong 2006-12-12 16:45:00 -08:00 committed by Junio C Hamano
parent fa2376f3c8
commit c53d696bcc

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