summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharvi Mendiratta <charvi077@gmail.com>2021-03-15 07:54:31 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-03-15 21:29:35 (GMT)
commit6e0e28877988f8b98eb1e5cf4d4c5d29cc0b7f77 (patch)
treeb6793671726d69ec5847ce61ee4e19db7c05800f
parentfa153c1cd7a84accc83e97723af85cf0ab3869e7 (diff)
downloadgit-6e0e28877988f8b98eb1e5cf4d4c5d29cc0b7f77.zip
git-6e0e28877988f8b98eb1e5cf4d4c5d29cc0b7f77.tar.gz
git-6e0e28877988f8b98eb1e5cf4d4c5d29cc0b7f77.tar.bz2
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>
-rw-r--r--commit.c14
-rw-r--r--commit.h3
-rw-r--r--sequencer.c16
3 files changed, 18 insertions, 15 deletions
diff --git a/commit.c b/commit.c
index bab8d5a..199c7e2 100644
--- a/commit.c
+++ b/commit.c
@@ -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));
diff --git a/commit.h b/commit.h
index f4e7b01..e65d9b3 100644
--- a/commit.h
+++ b/commit.h
@@ -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,
diff --git a/sequencer.c b/sequencer.c
index abc6d5c..da7d54c 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -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,
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),