From 20b3d206acbbb042c7ad5f42d36ff8d036a538c5 Mon Sep 17 00:00:00 2001 From: James Y Knight Date: Thu, 24 May 2007 00:37:06 -0400 Subject: Fix git-svn to handle svn not reporting the md5sum of a file, and test. Acked-by: Eric Wong Signed-off-by: Junio C Hamano diff --git a/git-svn.perl b/git-svn.perl index eda9969..fa46236 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -2477,7 +2477,7 @@ sub close_file { $md5->addfile($fh); my $got = $md5->hexdigest; die "Checksum mismatch: $path\n", - "expected: $exp\n got: $got\n" if ($got ne $exp); + "expected: $exp\n got: $got\n" if (defined $exp && $got ne $exp); sysseek($fh, 0, 0) or croak $!; if ($fb->{mode_b} == 120000) { sysread($fh, my $buf, 5) == 5 or croak $!; diff --git a/t/t9112-git-svn-md5less-file.sh b/t/t9112-git-svn-md5less-file.sh new file mode 100755 index 0000000..08313bb --- /dev/null +++ b/t/t9112-git-svn-md5less-file.sh @@ -0,0 +1,45 @@ +test_description='test that git handles an svn repository with missing md5sums' + +. ./lib-git-svn.sh + +# Loading a node from a svn dumpfile without a Text-Content-Length +# field causes svn to neglect to store or report an md5sum. (it will +# calculate one if you had put Text-Content-Length: 0). This showed +# up in a repository creted with cvs2svn. + +cat > dumpfile.svn <