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

Re: [PATCH] cherry-pick -x: improve handling of one-liner commit messages

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 29, 2013, 17:23 UTC
Message-ID
<7v8v56p1bl.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20130329153818.GB27251@suse.cz>
Miklos Vajna <vmiklos@suse.cz> writes:
Show 6 quoted lines
> git cherry-pick -x normally just appends the "cherry picked from commit"
> line at the end of the message, which is fine. However, in case the
> original commit message had only one line, first append a newline,
> otherwise the second line won't be empty, which is against
> recommendations.
> ---
Sign-off?

I think this is part of the bc/append-signed-off-by topic that is about to graduate to 'master'; more specifically, b971e04f54e7 (sequencer.c: always separate "(cherry picked from" from commit body, 2013-02-12) does the equivalent, no?

Show 44 quoted lines
>  sequencer.c                   | 10 ++++++++++
>  t/t3501-revert-cherry-pick.sh |  8 ++++++++
>  2 files changed, 18 insertions(+)
>
> diff --git a/sequencer.c b/sequencer.c
> index aef5e8a..1ae0e43 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -496,6 +496,16 @@ static int do_pick_commit(struct commit *commit, struct replay_opts *opts)
>  		}
>  
>  		if (opts->record_origin) {
> +
> +			/*
> +			 * If this the message is a one-liner, append a
> +			 * newline, so the second line will be empty, as
> +			 * recommended.
> +			 */
> +			p = strstr(msgbuf.buf, "\n\n");
> +			if (!p)
> +				strbuf_addch(&msgbuf, '\n');
> +
>  			strbuf_addstr(&msgbuf, "(cherry picked from commit ");
>  			strbuf_addstr(&msgbuf, sha1_to_hex(commit->object.sha1));
>  			strbuf_addstr(&msgbuf, ")\n");
> diff --git a/t/t3501-revert-cherry-pick.sh b/t/t3501-revert-cherry-pick.sh
> index 6f489e2..858c744 100755
> --- a/t/t3501-revert-cherry-pick.sh
> +++ b/t/t3501-revert-cherry-pick.sh
> @@ -70,6 +70,14 @@ test_expect_success 'cherry-pick after renaming branch' '
>  
>  '
>  
> +test_expect_success 'cherry-pick -x of one-liner commit message' '
> +
> +	git checkout rename2 &&
> +	git cherry-pick -x added &&
> +	git show -s --pretty=format:%s | test_must_fail grep "cherry picked"
> +
> +'
> +
>  test_expect_success 'revert after renaming branch' '
>  
>  	git checkout rename1 &&
Previous: Miklos VajnaNext: Brandon Casey
Message 2 of 5 in “cherry-pick -x: improve handling of one-liner commit messages”
  1. cherry-pick -x: improve handling of one-liner commit messagesMiklos Vajna, Mar 29, 2013
  2. Junio C HamanoMar 29, 2013
  3. Brandon CaseyMar 29, 2013
  4. Miklos VajnaMar 29, 2013
  5. Junio C HamanoMar 29, 2013

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.