git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/3] builtin/am: fold am_signoff() into am_append_signoff()

From
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date
Apr 15, 2017, 14:41 UTC
Message-ID
<20170415144103.11986-3-giuseppe.bilotta@gmail.com>
In-Reply-To
<20170415144103.11986-1-giuseppe.bilotta@gmail.com>

There are no more direct calls to am_signoff(), so we can fold its logic in am_append_signoff().

(This is done in a separate commit rather than in the previous one, to make it easier to revert this specific change if additional calls are ever introduced.)

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
---
 builtin/am.c | 33 +++++++++++++++------------------
 1 file changed, 15 insertions(+), 18 deletions(-)
diff --git a/builtin/am.c b/builtin/am.c
index d072027b5a..b29f885e41 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -1181,42 +1181,39 @@ static void NORETURN die_user_resolve(const struct am_state *state)
 	exit(128);
 }
 
-static void am_signoff(struct strbuf *sb)
+/**
+ * Appends signoff to the "msg" field of the am_state.
+ */
+static void am_append_signoff(struct am_state *state)
 {
 	char *cp;
 	struct strbuf mine = STRBUF_INIT;
+	struct strbuf sb = STRBUF_INIT;
 
-	/* Does it end with our own sign-off? */
+	strbuf_attach(&sb, state->msg, state->msg_len, state->msg_len);
+
+	/* our sign-off */
 	strbuf_addf(&mine, "\n%s%s\n",
 		    sign_off_header,
 		    fmt_name(getenv("GIT_COMMITTER_NAME"),
 			     getenv("GIT_COMMITTER_EMAIL")));
-	if (mine.len < sb->len &&
-	    !strcmp(mine.buf, sb->buf + sb->len - mine.len))
+
+	/* Does sb end with it already? */
+	if (mine.len < sb.len &&
+	    !strcmp(mine.buf, sb.buf + sb.len - mine.len))
 		goto exit; /* no need to duplicate */
 
 	/* Does it have any Signed-off-by: in the text */
-	for (cp = sb->buf;
+	for (cp = sb.buf;
 	     cp && *cp && (cp = strstr(cp, sign_off_header)) != NULL;
 	     cp = strchr(cp, '\n')) {
-		if (sb->buf == cp || cp[-1] == '\n')
+		if (sb.buf == cp || cp[-1] == '\n')
 			break;
 	}
 
-	strbuf_addstr(sb, mine.buf + !!cp);
+	strbuf_addstr(&sb, mine.buf + !!cp);
 exit:
 	strbuf_release(&mine);
-}
-
-/**
- * Appends signoff to the "msg" field of the am_state.
- */
-static void am_append_signoff(struct am_state *state)
-{
-	struct strbuf sb = STRBUF_INIT;
-
-	strbuf_attach(&sb, state->msg, state->msg_len, state->msg_len);
-	am_signoff(&sb);
 	state->msg = strbuf_detach(&sb, &state->msg_len);
 }
 
-- 
2.12.2.765.g2bf946761b
Previous: Giuseppe BilottaNext: Giuseppe Bilotta
Message 3 of 10 in “rebase --signoff”
  1. 0/3 rebase --signoffGiuseppe Bilotta, Apr 15, 2017
  2. 1/3 builtin/am: obey --signoff also when --rebasingGiuseppe Bilotta, Apr 15, 2017
  3. 2/3 builtin/am: fold am_signoff() into am_append_signoff()Giuseppe Bilotta, Apr 15, 2017
  4. 3/3 rebase: pass --[no-]signoff option to git amGiuseppe Bilotta, Apr 15, 2017
  5. Giuseppe BilottaApr 15, 2017
  6. Junio C HamanoApr 17, 2017
  7. Junio C HamanoApr 17, 2017
  8. Giuseppe BilottaApr 17, 2017
  9. Junio C HamanoApr 18, 2017
  10. Giuseppe BilottaApr 18, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.