Code

i18n: git-submodule "Entering [...]" message
[git.git] / revision.c
index 315a7f43190c307a5271cb1627ec96ff82609882..541f09e218ae35c0784a59cea477e87c32bf3a23 100644 (file)
@@ -1367,23 +1367,34 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
                revs->verbose_header = 1;
                revs->pretty_given = 1;
                get_commit_format(arg+9, revs);
-       } else if (!strcmp(arg, "--show-notes")) {
+       } else if (!strcmp(arg, "--show-notes") || !strcmp(arg, "--notes")) {
                revs->show_notes = 1;
                revs->show_notes_given = 1;
                revs->notes_opt.use_default_notes = 1;
-       } else if (!prefixcmp(arg, "--show-notes=")) {
+       } else if (!prefixcmp(arg, "--show-notes=") ||
+                  !prefixcmp(arg, "--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);
+               if (!prefixcmp(arg, "--show-notes")) {
+                       if (revs->notes_opt.use_default_notes < 0)
+                               revs->notes_opt.use_default_notes = 1;
+                       strbuf_addstr(&buf, arg+13);
+               }
+               else
+                       strbuf_addstr(&buf, arg+8);
                expand_notes_ref(&buf);
                string_list_append(&revs->notes_opt.extra_notes_refs,
                                   strbuf_detach(&buf, NULL));
        } else if (!strcmp(arg, "--no-notes")) {
                revs->show_notes = 0;
                revs->show_notes_given = 1;
+               revs->notes_opt.use_default_notes = -1;
+               /* we have been strdup'ing ourselves, so trick
+                * string_list into free()ing strings */
+               revs->notes_opt.extra_notes_refs.strdup_strings = 1;
+               string_list_clear(&revs->notes_opt.extra_notes_refs, 0);
+               revs->notes_opt.extra_notes_refs.strdup_strings = 0;
        } else if (!strcmp(arg, "--standard-notes")) {
                revs->show_notes_given = 1;
                revs->notes_opt.use_default_notes = 1;