From: Junio C Hamano Date: Fri, 19 Sep 2014 21:05:09 +0000 (-0700) Subject: Merge branch 'jk/pretty-empty-format' into maint X-Git-Tag: v2.1.1~12 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/723361a572e8c9fe93f00b17a1f4ed02585923b2?ds=inline;hp=-c Merge branch 'jk/pretty-empty-format' into maint * jk/pretty-empty-format: pretty: make empty userformats truly empty pretty: treat "--format=" as an empty userformat revision: drop useless string offset when parsing "--pretty" --- 723361a572e8c9fe93f00b17a1f4ed02585923b2 diff --combined combine-diff.c index 60cb4f81f9,1a1e6598e2..91edce58e1 --- a/combine-diff.c +++ b/combine-diff.c @@@ -12,16 -12,6 +12,16 @@@ #include "sha1-array.h" #include "revision.h" +static int compare_paths(const struct combine_diff_path *one, + const struct diff_filespec *two) +{ + if (!S_ISDIR(one->mode) && !S_ISDIR(two->mode)) + return strcmp(one->path, two->path); + + return base_name_compare(one->path, strlen(one->path), one->mode, + two->path, strlen(two->path), two->mode); +} + static struct combine_diff_path *intersect_paths(struct combine_diff_path *curr, int n, int num_parent) { struct diff_queue_struct *q = &diff_queued_diff; @@@ -62,7 -52,7 +62,7 @@@ i = 0; while ((p = *tail) != NULL) { cmp = ((i >= q->nr) - ? -1 : strcmp(p->path, q->queue[i]->two->path)); + ? -1 : compare_paths(p, q->queue[i]->two)); if (cmp < 0) { /* p->path not in q->queue[]; drop it */ @@@ -1407,7 -1397,8 +1407,8 @@@ void diff_tree_combined(const unsigned show_log(rev); if (rev->verbose_header && opt->output_format && - opt->output_format != DIFF_FORMAT_NO_OUTPUT) + opt->output_format != DIFF_FORMAT_NO_OUTPUT && + !commit_format_is_empty(rev->commit_format)) printf("%s%c", diff_line_prefix(opt), opt->line_termination); }