git-svn: extra error check to ensure we open a file correctly
authorEric Wong <normalperson@yhbt.net>
Fri, 8 Dec 2006 09:55:19 +0000 (01:55 -0800)
committerJunio C Hamano <junkio@cox.net>
Fri, 8 Dec 2006 10:07:01 +0000 (02:07 -0800)
This may be an issue with repositories imported with commit
27a1a8014b842c0d70fdc91c68dd361ca2dfb34c or later, but before
commit dad73c0bb9f33323ec1aacf560a6263f1d85f81a.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-svn.perl

index 747daf0181babeae63378a6ec49a8bc4b7f70a0f..ff61b9201fefd7563d4937ad5db00ecd25ffe986 100755 (executable)
@@ -3438,6 +3438,9 @@ sub open_file {
        my ($self, $path, $pb, $rev) = @_;
        my ($mode, $blob) = (safe_qx('git-ls-tree',$self->{c},'--',$path)
                             =~ /^(\d{6}) blob ([a-f\d]{40})\t/);
+       unless (defined $mode && defined $blob) {
+               die "$path was not found in commit $self->{c} (r$rev)\n";
+       }
        { path => $path, mode_a => $mode, mode_b => $mode, blob => $blob,
          pool => SVN::Pool->new, action => 'M' };
 }