}
debug("No 'tree' seen in diff-tree output") if !defined $ci{'tree'};
-
+
if (defined $ci{'parents'}) {
$ci{'parent'} = @{ $ci{'parents'} }[0];
}
$ci{'parent'} = 0 x 40;
}
- # Commit message.
- while (my $line = shift @{ $dt_ref }) {
- if ($line =~ m/^$/) {
- # Trailing empty line signals next section.
- last;
- };
+ # Commit message (optional).
+ while ($dt_ref->[0] =~ /^ /) {
+ my $line = shift @{ $dt_ref };
$line =~ s/^ //;
push @{ $ci{'comment'} }, $line;
}
+ shift @{ $dt_ref } if $dt_ref->[0] =~ /^$/;
# Modified files.
while (my $line = shift @{ $dt_ref }) {
my @rets;
foreach my $ci (git_commit_info('HEAD', $num)) {
# Skip redundant commits.
- next if (@{$ci->{'comment'}}[0] eq $dummy_commit_msg);
+ next if ($ci->{'comment'} && @{$ci->{'comment'}}[0] eq $dummy_commit_msg);
my ($sha1, $when) = (
$ci->{'sha1'},
* git: Put web committer name/openid/address in the git author field.
The committer's email address is not used (because leaking email addresses
is not liked by many users). Closes: #451023
+ * git: Fix parsing of git logs with no commit messages at all.
[ Simon McVittie ]
* meta, inline: Support guid options, to allow forcing a particular url or