]> git.ipfire.org Git - thirdparty/git.git/blobdiff - sequencer.c
Merge branch 'jk/core-comment-string'
[thirdparty/git.git] / sequencer.c
index 4ae1af060a47d50924664be7462c0515c66ad95b..2c19846385baa1df3240e865752087db827ba36e 100644 (file)
@@ -678,15 +678,15 @@ void append_conflicts_hint(struct index_state *istate,
        if (cleanup_mode == COMMIT_MSG_CLEANUP_SCISSORS) {
                strbuf_addch(msgbuf, '\n');
                wt_status_append_cut_line(msgbuf);
-               strbuf_addch(msgbuf, comment_line_char);
+               strbuf_addstr(msgbuf, comment_line_str);
        }
 
        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))
@@ -1182,7 +1182,7 @@ void cleanup_message(struct strbuf *msgbuf,
                strbuf_setlen(msgbuf, wt_status_locate_end(msgbuf->buf, msgbuf->len));
        if (cleanup_mode != COMMIT_MSG_CLEANUP_NONE)
                strbuf_stripspace(msgbuf,
-                 cleanup_mode == COMMIT_MSG_CLEANUP_ALL ? comment_line_char : '\0');
+                 cleanup_mode == COMMIT_MSG_CLEANUP_ALL ? comment_line_str : NULL);
 }
 
 /*
@@ -1214,7 +1214,7 @@ int template_untouched(const struct strbuf *sb, const char *template_file,
                return 0;
 
        strbuf_stripspace(&tmpl,
-         cleanup_mode == COMMIT_MSG_CLEANUP_ALL ? comment_line_char : '\0');
+         cleanup_mode == COMMIT_MSG_CLEANUP_ALL ? comment_line_str : NULL);
        if (!skip_prefix(sb->buf, tmpl.buf, &start))
                start = sb->buf;
        strbuf_release(&tmpl);
@@ -1587,7 +1587,7 @@ static int try_to_commit(struct repository *r,
 
        if (cleanup != COMMIT_MSG_CLEANUP_NONE)
                strbuf_stripspace(msg,
-                 cleanup == COMMIT_MSG_CLEANUP_ALL ? comment_line_char : '\0');
+                 cleanup == COMMIT_MSG_CLEANUP_ALL ? comment_line_str : NULL);
        if ((flags & EDIT_MSG) && message_is_empty(msg, cleanup)) {
                res = 1; /* run 'git commit' to display error message */
                goto out;
@@ -1800,6 +1800,8 @@ static const char *command_to_string(const enum todo_command command)
 {
        if (command < TODO_COMMENT)
                return todo_command_info[command].str;
+       if (command == TODO_COMMENT)
+               return comment_line_str;
        die(_("unknown command: %d"), command);
 }
 
@@ -1807,7 +1809,7 @@ static char command_to_char(const enum todo_command command)
 {
        if (command < TODO_COMMENT)
                return todo_command_info[command].c;
-       return comment_line_char;
+       return 0;
 }
 
 static int is_noop(const enum todo_command command)
@@ -1861,7 +1863,7 @@ static int is_fixup_flag(enum todo_command command, unsigned flag)
 static void add_commented_lines(struct strbuf *buf, const void *str, size_t len)
 {
        const char *s = str;
-       while (len > 0 && s[0] == comment_line_char) {
+       while (starts_with_mem(s, len, comment_line_str)) {
                size_t count;
                const char *n = memchr(s, '\n', len);
                if (!n)
@@ -1872,7 +1874,7 @@ static void add_commented_lines(struct strbuf *buf, const void *str, size_t len)
                s += count;
                len -= count;
        }
-       strbuf_add_commented_lines(buf, s, len, comment_line_char);
+       strbuf_add_commented_lines(buf, s, len, comment_line_str);
 }
 
 /* Does the current fixup chain contain a squash command? */
@@ -1967,11 +1969,11 @@ static int append_squash_message(struct strbuf *buf, const char *body,
             (starts_with(body, "squash!") || starts_with(body, "fixup!"))))
                commented_len = commit_subject_length(body);
 
-       strbuf_addf(buf, "\n%c ", comment_line_char);
+       strbuf_addf(buf, "\n%s ", comment_line_str);
        strbuf_addf(buf, _(nth_commit_msg_fmt),
                    ++opts->current_fixup_count + 1);
        strbuf_addstr(buf, "\n\n");
-       strbuf_add_commented_lines(buf, body, commented_len, comment_line_char);
+       strbuf_add_commented_lines(buf, body, commented_len, comment_line_str);
        /* buf->buf may be reallocated so store an offset into the buffer */
        fixup_off = buf->len;
        strbuf_addstr(buf, body + commented_len);
@@ -2024,10 +2026,10 @@ static int update_squash_messages(struct repository *r,
                        return error(_("could not read '%s'"),
                                rebase_path_squash_msg());
 
-               eol = buf.buf[0] != comment_line_char ?
+               eol = !starts_with(buf.buf, comment_line_str) ?
                        buf.buf : strchrnul(buf.buf, '\n');
 
-               strbuf_addf(&header, "%c ", comment_line_char);
+               strbuf_addf(&header, "%s ", comment_line_str);
                strbuf_addf(&header, _(combined_commit_msg_fmt),
                            opts->current_fixup_count + 2);
                strbuf_splice(&buf, 0, eol - buf.buf, header.buf, header.len);
@@ -2053,16 +2055,16 @@ static int update_squash_messages(struct repository *r,
                        repo_unuse_commit_buffer(r, head_commit, head_message);
                        return error(_("cannot write '%s'"), rebase_path_fixup_msg());
                }
-               strbuf_addf(&buf, "%c ", comment_line_char);
+               strbuf_addf(&buf, "%s ", comment_line_str);
                strbuf_addf(&buf, _(combined_commit_msg_fmt), 2);
-               strbuf_addf(&buf, "\n%c ", comment_line_char);
+               strbuf_addf(&buf, "\n%s ", comment_line_str);
                strbuf_addstr(&buf, is_fixup_flag(command, flag) ?
                              _(skip_first_commit_msg_str) :
                              _(first_commit_msg_str));
                strbuf_addstr(&buf, "\n\n");
                if (is_fixup_flag(command, flag))
                        strbuf_add_commented_lines(&buf, body, strlen(body),
-                                                  comment_line_char);
+                                                  comment_line_str);
                else
                        strbuf_addstr(&buf, body);
 
@@ -2077,12 +2079,12 @@ static int update_squash_messages(struct repository *r,
        if (command == TODO_SQUASH || is_fixup_flag(command, flag)) {
                res = append_squash_message(&buf, body, command, opts, flag);
        } else if (command == TODO_FIXUP) {
-               strbuf_addf(&buf, "\n%c ", comment_line_char);
+               strbuf_addf(&buf, "\n%s ", comment_line_str);
                strbuf_addf(&buf, _(skip_nth_commit_msg_fmt),
                            ++opts->current_fixup_count + 1);
                strbuf_addstr(&buf, "\n\n");
                strbuf_add_commented_lines(&buf, body, strlen(body),
-                                          comment_line_char);
+                                          comment_line_str);
        } else
                return error(_("unknown command: %d"), command);
        repo_unuse_commit_buffer(r, commit, message);
@@ -2583,7 +2585,7 @@ static int parse_insn_line(struct repository *r, struct todo_item *item,
        /* left-trim */
        bol += strspn(bol, " \t");
 
-       if (bol == eol || *bol == '\r' || *bol == comment_line_char) {
+       if (bol == eol || *bol == '\r' || starts_with_mem(bol, eol - bol, comment_line_str)) {
                item->command = TODO_COMMENT;
                item->commit = NULL;
                item->arg_offset = bol - buf;
@@ -5692,8 +5694,8 @@ static int make_script_with_merges(struct pretty_print_context *pp,
                                    oid_to_hex(&commit->object.oid),
                                    oneline.buf);
                        if (is_empty)
-                               strbuf_addf(&buf, " %c empty",
-                                           comment_line_char);
+                               strbuf_addf(&buf, " %s empty",
+                                           comment_line_str);
 
                        FLEX_ALLOC_STR(entry, string, buf.buf);
                        oidcpy(&entry->entry.oid, &commit->object.oid);
@@ -5783,7 +5785,7 @@ static int make_script_with_merges(struct pretty_print_context *pp,
                entry = oidmap_get(&state.commit2label, &commit->object.oid);
 
                if (entry)
-                       strbuf_addf(out, "\n%c Branch %s\n", comment_line_char, entry->string);
+                       strbuf_addf(out, "\n%s Branch %s\n", comment_line_str, entry->string);
                else
                        strbuf_addch(out, '\n');
 
@@ -5920,7 +5922,7 @@ int sequencer_make_script(struct repository *r, struct strbuf *out, int argc,
                            oid_to_hex(&commit->object.oid));
                pretty_print_commit(&pp, commit, out);
                if (is_empty)
-                       strbuf_addf(out, " %c empty", comment_line_char);
+                       strbuf_addf(out, " %s empty", comment_line_str);
                strbuf_addch(out, '\n');
        }
        if (skipped_commit)