{
struct diff_options *opt = &rev->diffopt;
struct diff_options diffopts;
- struct combine_diff_path *p, *paths = NULL;
+ struct combine_diff_path *p, *paths;
int i, num_paths, needsep, show_log_first, num_parent = parents->nr;
- if (rev->verbose_header && opt->output_format)
+ int need_generic_pathscan;
+
+ /* nothing to do, if no parents */
+ if (!num_parent)
+ return;
+
+ show_log_first = !!rev->loginfo && !rev->no_commit_id;
+ needsep = 0;
+ if (show_log_first) {
+ show_log(rev);
+
++ if (rev->verbose_header && opt->output_format &&
++ opt->output_format != DIFF_FORMAT_NO_OUTPUT)
+ printf("%s%c", diff_line_prefix(opt),
+ opt->line_termination);
+ }
diffopts = *opt;
copy_pathspec(&diffopts.pathspec, &opt->pathspec);