Browse Source

sequencer: export and rename subject_length()

This function can be used in other parts of git. Let's move the
function to commit.c and also rename it to make the name of the
function more generic.

Mentored-by: Christian Couder <chriscool@tuxfamily.org>
Mentored-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Charvi Mendiratta <charvi077@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Charvi Mendiratta 4 years ago committed by Junio C Hamano
parent
commit
6e0e288779
  1. 14
      commit.c
  2. 3
      commit.h
  3. 16
      sequencer.c

14
commit.c

@ -535,6 +535,20 @@ int find_commit_subject(const char *commit_buffer, const char **subject) @@ -535,6 +535,20 @@ int find_commit_subject(const char *commit_buffer, const char **subject)
return eol - p;
}

size_t commit_subject_length(const char *body)
{
const char *p = body;
while (*p) {
const char *next = skip_blank_lines(p);
if (next != p)
break;
p = strchrnul(p, '\n');
if (*p)
p++;
}
return p - body;
}

struct commit_list *commit_list_insert(struct commit *item, struct commit_list **list_p)
{
struct commit_list *new_list = xmalloc(sizeof(struct commit_list));

3
commit.h

@ -165,6 +165,9 @@ const void *detach_commit_buffer(struct commit *, unsigned long *sizep); @@ -165,6 +165,9 @@ const void *detach_commit_buffer(struct commit *, unsigned long *sizep);
/* Find beginning and length of commit subject. */
int find_commit_subject(const char *commit_buffer, const char **subject);

/* Return length of the commit subject from commit log message. */
size_t commit_subject_length(const char *body);

struct commit_list *commit_list_insert(struct commit *item,
struct commit_list **list);
int commit_list_contains(struct commit *item,

16
sequencer.c

@ -1724,20 +1724,6 @@ enum todo_item_flags { @@ -1724,20 +1724,6 @@ enum todo_item_flags {
TODO_EDIT_FIXUP_MSG = (1 << 2),
};

static size_t subject_length(const char *body)
{
const char *p = body;
while (*p) {
const char *next = skip_blank_lines(p);
if (next != p)
break;
p = strchrnul(p, '\n');
if (*p)
p++;
}
return p - body;
}

static const char first_commit_msg_str[] = N_("This is the 1st commit message:");
static const char nth_commit_msg_fmt[] = N_("This is the commit message #%d:");
static const char skip_first_commit_msg_str[] = N_("The 1st commit message will be skipped:");
@ -1861,7 +1847,7 @@ static int append_squash_message(struct strbuf *buf, const char *body, @@ -1861,7 +1847,7 @@ static int append_squash_message(struct strbuf *buf, const char *body,
if (starts_with(body, "amend!") ||
((command == TODO_SQUASH || seen_squash(opts)) &&
(starts_with(body, "squash!") || starts_with(body, "fixup!"))))
commented_len = subject_length(body);
commented_len = commit_subject_length(body);

strbuf_addf(buf, "\n%c ", comment_line_char);
strbuf_addf(buf, _(nth_commit_msg_fmt),

Loading…
Cancel
Save