]> git.ipfire.org Git - thirdparty/git.git/blobdiff - builtin/log.c
Merge branch 'jt/interpret-branch-name-fallback'
[thirdparty/git.git] / builtin / log.c
index 76578c46fd463ba475cb7b92e9b1cb670f7e84a0..4ec7f57cf4ac2adcb0cbc3abffa8769eb1273396 100644 (file)
@@ -599,8 +599,8 @@ static int show_tree_object(const struct object_id *oid,
 static void show_setup_revisions_tweak(struct rev_info *rev,
                                       struct setup_revision_opt *opt)
 {
-       if (rev->ignore_merges) {
-               /* There was no "-m" on the command line */
+       if (rev->ignore_merges < 0) {
+               /* There was no "-m" variant on the command line */
                rev->ignore_merges = 0;
                if (!rev->first_parent_only && !rev->combine_merges) {
                        /* No "--first-parent", "-c", or "--cc" */
@@ -732,8 +732,7 @@ static void log_setup_revisions_tweak(struct rev_info *rev,
        if (!rev->diffopt.output_format && rev->combine_merges)
                rev->diffopt.output_format = DIFF_FORMAT_PATCH;
 
-       /* Turn -m on when --cc/-c was given */
-       if (rev->combine_merges)
+       if (rev->first_parent_only && rev->ignore_merges < 0)
                rev->ignore_merges = 0;
 }
 
@@ -1128,18 +1127,18 @@ do_pp:
 
 static int get_notes_refs(struct string_list_item *item, void *arg)
 {
-       argv_array_pushf(arg, "--notes=%s", item->string);
+       strvec_pushf(arg, "--notes=%s", item->string);
        return 0;
 }
 
-static void get_notes_args(struct argv_array *arg, struct rev_info *rev)
+static void get_notes_args(struct strvec *arg, struct rev_info *rev)
 {
        if (!rev->show_notes) {
-               argv_array_push(arg, "--no-notes");
+               strvec_push(arg, "--no-notes");
        } else if (rev->notes_opt.use_default_notes > 0 ||
                   (rev->notes_opt.use_default_notes == -1 &&
                    !rev->notes_opt.extra_notes_refs.nr)) {
-               argv_array_push(arg, "--notes");
+               strvec_push(arg, "--notes");
        } else {
                for_each_string_list(&rev->notes_opt.extra_notes_refs, get_notes_refs, arg);
        }
@@ -1217,7 +1216,7 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,
                 * can be added later if deemed desirable.
                 */
                struct diff_options opts;
-               struct argv_array other_arg = ARGV_ARRAY_INIT;
+               struct strvec other_arg = STRVEC_INIT;
                diff_setup(&opts);
                opts.file = rev->diffopt.file;
                opts.use_color = rev->diffopt.use_color;
@@ -1226,7 +1225,7 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,
                get_notes_args(&other_arg, rev);
                show_range_diff(rev->rdiff1, rev->rdiff2,
                                rev->creation_factor, 1, &opts, &other_arg);
-               argv_array_clear(&other_arg);
+               strvec_clear(&other_arg);
        }
 }