]> git.ipfire.org Git - thirdparty/git.git/commitdiff
strbuf: accept a comment string for strbuf_commented_addf()
authorJeff King <peff@peff.net>
Tue, 12 Mar 2024 09:17:29 +0000 (05:17 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 12 Mar 2024 20:28:10 +0000 (13:28 -0700)
As part of our transition to multi-byte comment characters, let's take a
NUL-terminated string pointer for strbuf_commented_addf() rather than a
single character.

All of the callers have to be adjusted, but they can just pass
comment_line_str rather than comment_line_char.

Note that we rely on strbuf_add_commented_lines() under the hood, so
we'll cheat a bit to squeeze our string into a single character (for now
the two are equivalent, and we'll address this TODO in the next patch).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
add-patch.c
builtin/branch.c
builtin/merge.c
builtin/tag.c
rebase-interactive.c
sequencer.c
strbuf.c
strbuf.h
wt-status.c

index 68f525b35cfe650ebf440a1d879a761d55aa02e6..73906777955e243af604814e6ffac610c5a2ced8 100644 (file)
@@ -1105,11 +1105,11 @@ static int edit_hunk_manually(struct add_p_state *s, struct hunk *hunk)
        size_t i;
 
        strbuf_reset(&s->buf);
-       strbuf_commented_addf(&s->buf, comment_line_char,
+       strbuf_commented_addf(&s->buf, comment_line_str,
                              _("Manual hunk edit mode -- see bottom for "
                                "a quick guide.\n"));
        render_hunk(s, hunk, 0, 0, &s->buf);
-       strbuf_commented_addf(&s->buf, comment_line_char,
+       strbuf_commented_addf(&s->buf, comment_line_str,
                              _("---\n"
                                "To remove '%c' lines, make them ' ' lines "
                                "(context).\n"
@@ -1118,13 +1118,13 @@ static int edit_hunk_manually(struct add_p_state *s, struct hunk *hunk)
                              s->mode->is_reverse ? '+' : '-',
                              s->mode->is_reverse ? '-' : '+',
                              comment_line_char);
-       strbuf_commented_addf(&s->buf, comment_line_char, "%s",
+       strbuf_commented_addf(&s->buf, comment_line_str, "%s",
                              _(s->mode->edit_hunk_hint));
        /*
         * TRANSLATORS: 'it' refers to the patch mentioned in the previous
         * messages.
         */
-       strbuf_commented_addf(&s->buf, comment_line_char,
+       strbuf_commented_addf(&s->buf, comment_line_str,
                              _("If it does not apply cleanly, you will be "
                                "given an opportunity to\n"
                                "edit again.  If all lines of the hunk are "
index c03c0407d1d0b6b4e504ab5413dee8239eae1056..8904a1e5d91bed745abef944b2a878df25ef13d7 100644 (file)
@@ -667,7 +667,7 @@ static int edit_branch_description(const char *branch_name)
        exists = !read_branch_desc(&buf, branch_name);
        if (!buf.len || buf.buf[buf.len-1] != '\n')
                strbuf_addch(&buf, '\n');
-       strbuf_commented_addf(&buf, comment_line_char,
+       strbuf_commented_addf(&buf, comment_line_str,
                    _("Please edit the description for the branch\n"
                      "  %s\n"
                      "Lines starting with '%c' will be stripped.\n"),
index 935c8a57ddbcaa3b396bdcf633f34eb29d8860c1..6d048fb62857ad587c5b60b62dc67f5838dbe498 100644 (file)
@@ -852,15 +852,15 @@ static void prepare_to_commit(struct commit_list *remoteheads)
                strbuf_addch(&msg, '\n');
                if (cleanup_mode == COMMIT_MSG_CLEANUP_SCISSORS) {
                        wt_status_append_cut_line(&msg);
-                       strbuf_commented_addf(&msg, comment_line_char, "\n");
+                       strbuf_commented_addf(&msg, comment_line_str, "\n");
                }
-               strbuf_commented_addf(&msg, comment_line_char,
+               strbuf_commented_addf(&msg, comment_line_str,
                                      _(merge_editor_comment));
                if (cleanup_mode == COMMIT_MSG_CLEANUP_SCISSORS)
-                       strbuf_commented_addf(&msg, comment_line_char,
+                       strbuf_commented_addf(&msg, comment_line_str,
                                              _(scissors_editor_comment));
                else
-                       strbuf_commented_addf(&msg, comment_line_char,
+                       strbuf_commented_addf(&msg, comment_line_str,
                                _(no_scissors_editor_comment), comment_line_char);
        }
        if (signoff)
index 07327d3c040f444e16b371b4b5d7dbbc5bb91f94..1c708785bf09383379b602490d576ec4e38262ff 100644 (file)
@@ -291,10 +291,10 @@ static void create_tag(const struct object_id *object, const char *object_ref,
                        struct strbuf buf = STRBUF_INIT;
                        strbuf_addch(&buf, '\n');
                        if (opt->cleanup_mode == CLEANUP_ALL)
-                               strbuf_commented_addf(&buf, comment_line_char,
+                               strbuf_commented_addf(&buf, comment_line_str,
                                      _(tag_template), tag, comment_line_char);
                        else
-                               strbuf_commented_addf(&buf, comment_line_char,
+                               strbuf_commented_addf(&buf, comment_line_str,
                                      _(tag_template_nocleanup), tag, comment_line_char);
                        write_or_die(fd, buf.buf, buf.len);
                        strbuf_release(&buf);
index 6dfc33e4e391c33486e40746553809946e1ef0f1..affc93a8e4d27e76c71b877862710af684fe1e7f 100644 (file)
@@ -71,7 +71,7 @@ void append_todo_help(int command_count,
 
        if (!edit_todo) {
                strbuf_addch(buf, '\n');
-               strbuf_commented_addf(buf, comment_line_char,
+               strbuf_commented_addf(buf, comment_line_str,
                                      Q_("Rebase %s onto %s (%d command)",
                                         "Rebase %s onto %s (%d commands)",
                                         command_count),
index 6a1b7b200ee5c1f1384eea0fd033e535c41abac7..852c3f9f4e2975cf1e38a9c7d7c67969f9736d3d 100644 (file)
@@ -667,11 +667,11 @@ void append_conflicts_hint(struct index_state *istate,
        }
 
        strbuf_addch(msgbuf, '\n');
-       strbuf_commented_addf(msgbuf, comment_line_char, "Conflicts:\n");
+       strbuf_commented_addf(msgbuf, comment_line_str, "Conflicts:\n");
        for (i = 0; i < istate->cache_nr;) {
                const struct cache_entry *ce = istate->cache[i++];
                if (ce_stage(ce)) {
-                       strbuf_commented_addf(msgbuf, comment_line_char,
+                       strbuf_commented_addf(msgbuf, comment_line_str,
                                              "\t%s\n", ce->name);
                        while (i < istate->cache_nr &&
                               !strcmp(ce->name, istate->cache[i]->name))
index e9b6127e766d4cef9d868b1c6d90b705d5abea8c..76d02e0920a8c91c2d8c18eb41a32e0d26186b4d 100644 (file)
--- a/strbuf.c
+++ b/strbuf.c
@@ -368,7 +368,7 @@ void strbuf_add_commented_lines(struct strbuf *out, const char *buf,
        add_lines(out, prefix, buf, size, 1);
 }
 
-void strbuf_commented_addf(struct strbuf *sb, char comment_prefix,
+void strbuf_commented_addf(struct strbuf *sb, const char *comment_prefix,
                           const char *fmt, ...)
 {
        va_list params;
@@ -379,7 +379,13 @@ void strbuf_commented_addf(struct strbuf *sb, char comment_prefix,
        strbuf_vaddf(&buf, fmt, params);
        va_end(params);
 
-       strbuf_add_commented_lines(sb, buf.buf, buf.len, comment_prefix);
+       /*
+        * TODO Our commented_lines helper does not yet understand
+        * comment strings. But since we know that the strings are
+        * always single-char, we can cheat for the moment, and
+        * fix this later.
+        */
+       strbuf_add_commented_lines(sb, buf.buf, buf.len, comment_prefix[0]);
        if (incomplete_line)
                sb->buf[--sb->len] = '\0';
 
index dc4710adbb496a5765e560ceeb816601b7f0f722..b128ca539a3ea7def36ad303c0550196f412780b 100644 (file)
--- a/strbuf.h
+++ b/strbuf.h
@@ -379,7 +379,7 @@ void strbuf_addf(struct strbuf *sb, const char *fmt, ...);
  * blank to the buffer.
  */
 __attribute__((format (printf, 3, 4)))
-void strbuf_commented_addf(struct strbuf *sb, char comment_prefix, const char *fmt, ...);
+void strbuf_commented_addf(struct strbuf *sb, const char *comment_prefix, const char *fmt, ...);
 
 __attribute__((format (printf,2,0)))
 void strbuf_vaddf(struct strbuf *sb, const char *fmt, va_list ap);
index b5a29083df503e3adfb6f2e4a74e55d4f44514b6..2be2eb094c7231f8d45e368490f5ef44d9c0331a 100644 (file)
@@ -1103,7 +1103,7 @@ void wt_status_append_cut_line(struct strbuf *buf)
 {
        const char *explanation = _("Do not modify or remove the line above.\nEverything below it will be ignored.");
 
-       strbuf_commented_addf(buf, comment_line_char, "%s", cut_line);
+       strbuf_commented_addf(buf, comment_line_str, "%s", cut_line);
        strbuf_add_commented_lines(buf, explanation, strlen(explanation), comment_line_char);
 }