notes: refactor display notes default handling
[gitweb.git] / revision.c
index 24b89ebfdc17df98292a9299a3dabfac2aa05f02..315a7f43190c307a5271cb1627ec96ff82609882 100644 (file)
@@ -955,6 +955,8 @@ void init_revisions(struct rev_info *revs, const char *prefix)
                revs->diffopt.prefix = prefix;
                revs->diffopt.prefix_length = strlen(prefix);
        }
+
+       revs->notes_opt.use_default_notes = -1;
 }
 
 static void add_pending_commit_list(struct rev_info *revs,
@@ -1368,10 +1370,13 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
        } else if (!strcmp(arg, "--show-notes")) {
                revs->show_notes = 1;
                revs->show_notes_given = 1;
+               revs->notes_opt.use_default_notes = 1;
        } else if (!prefixcmp(arg, "--show-notes=")) {
                struct strbuf buf = STRBUF_INIT;
                revs->show_notes = 1;
                revs->show_notes_given = 1;
+               if (revs->notes_opt.use_default_notes < 0)
+                       revs->notes_opt.use_default_notes = 1;
                strbuf_addstr(&buf, arg+13);
                expand_notes_ref(&buf);
                string_list_append(&revs->notes_opt.extra_notes_refs,
@@ -1381,9 +1386,9 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
                revs->show_notes_given = 1;
        } else if (!strcmp(arg, "--standard-notes")) {
                revs->show_notes_given = 1;
-               revs->notes_opt.suppress_default_notes = 0;
+               revs->notes_opt.use_default_notes = 1;
        } else if (!strcmp(arg, "--no-standard-notes")) {
-               revs->notes_opt.suppress_default_notes = 1;
+               revs->notes_opt.use_default_notes = 0;
        } else if (!strcmp(arg, "--oneline")) {
                revs->verbose_header = 1;
                get_commit_format("oneline", revs);