X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/3506f4ba07b612312f7b892c73f5d486f320974e..ccf99970a756f04ba3224b8c9141bcb4db69cf24:/IkiWiki/Rcs/git.pm?ds=sidebyside

diff --git a/IkiWiki/Rcs/git.pm b/IkiWiki/Rcs/git.pm
index 68b573fb9..5507874e1 100644
--- a/IkiWiki/Rcs/git.pm
+++ b/IkiWiki/Rcs/git.pm
@@ -165,10 +165,7 @@ sub _parse_diff_tree ($@) { #{{{
 	# Identification lines for the commit.
 	while (my $line = shift @{ $dt_ref }) {
 		# Regexps are semi-stolen from gitweb.cgi.
-		if ($line =~ m/^commit ([0-9a-fA-F]{40})$/) {
-			$ci{'commit'} = $1;
-		}
-		elsif ($line =~ m/^tree ([0-9a-fA-F]{40})$/) {
+		if ($line =~ m/^tree ([0-9a-fA-F]{40})$/) {
 			$ci{'tree'} = $1;
 		}
 		elsif ($line =~ m/^parent ([0-9a-fA-F]{40})$/) {
@@ -199,10 +196,14 @@ sub _parse_diff_tree ($@) { #{{{
 		}
 	}
 
-	debug("No 'tree' or 'parents' seen in diff-tree output")
-	    if !defined $ci{'tree'} || !defined $ci{'parents'};
+	debug("No 'tree' seen in diff-tree output") if !defined $ci{'tree'};
 
-	$ci{'parent'} = @{ $ci{'parents'} }[0] if defined $ci{'parents'};
+	if (defined $ci{'parents'}) {
+		$ci{'parent'} = @{ $ci{'parents'} }[0];
+	}
+	else {
+		$ci{'parent'} = 0 x 40;
+	}
 
 	# Commit message.
 	while (my $line = shift @{ $dt_ref }) {
@@ -366,7 +367,7 @@ sub rcs_recentchanges ($) { #{{{
 
 	my @rets;
 	foreach my $ci (git_commit_info('HEAD', $num)) {
-		my $title = @{ $ci->{'comment'} }[0];
+		my $title = join("\n", @{$ci->{'comment'}});
 
 		# Skip redundant commits.
 		next if ($title eq $dummy_commit_msg);
@@ -451,7 +452,7 @@ sub rcs_notify () { #{{{
 		$message = join "\n", @{ $ci->{'comment'} };
 	}
 
-	my $sha1 = $ci->{'commit'};
+	my $sha1 = $ci->{'sha1'};
 
 	require IkiWiki::UserInfo;
 	send_commit_mails(