X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/ada249e0dde4a84d583ab46345c789e366a4be33..5693776ae4f48ee55ea4affa9c060a95dcc4b1be:/IkiWiki/Rcs/git.pm diff --git a/IkiWiki/Rcs/git.pm b/IkiWiki/Rcs/git.pm index a1e06c51c..d4d2ec7a9 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,10 +367,8 @@ sub rcs_recentchanges ($) { #{{{ my @rets; foreach my $ci (git_commit_info('HEAD', $num)) { - my $title = join("\n", @{$ci->{'comment'}}); - # Skip redundant commits. - next if ($title eq $dummy_commit_msg); + next if (@{$ci->{'comment'}}[0] eq $dummy_commit_msg); my ($sha1, $when) = ( $ci->{'sha1'}, @@ -391,7 +390,7 @@ sub rcs_recentchanges ($) { #{{{ diffurl => $diffurl, }; } - push @messages, { line => $title }; + push @messages, { line => $_ } foreach @{$ci->{'comment'}}; my ($user, $type) = (q{}, "web"); @@ -451,7 +450,7 @@ sub rcs_notify () { #{{{ $message = join "\n", @{ $ci->{'comment'} }; } - my $sha1 = $ci->{'commit'}; + my $sha1 = $ci->{'sha1'}; require IkiWiki::UserInfo; send_commit_mails(