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

Re: [PATCH 2/4] t7502: demonstrate breakage with a commit message with trailing newlines

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Feb 19, 2013, 05:39 UTC
Message-ID
<20130219053919.GE19757@elie.Belkin>
In-Reply-To
<1361247427-438-2-git-send-email-drafnel@gmail.com>
Brandon Casey wrote:
> This test attempts to verify that a commit message supplied to 'git
> commit' via the -m switch was used in full as the commit message for a
> commit when --cleanup=verbatim was used.
[...]
> The test was able to complete successfully since internally, git appends
> two newlines to each string supplied via the -m switch.
[...]
> Mark this test as failing, since it is not handled correctly by git.
> As described above, git appends two extra newlines to every string
> supplied via -m.
Good catch.  This is an old one, triggered by a combination of
 v1.5.4-rc0~78^2~23 builtin-commit: resurrect behavior for multiple -m
                    options, 2007-11-11
and
 v1.5.4-rc2~3^2 Allow selection of different cleanup modes for commit
                messages, 2007-12-22
The patch makes sense and makes the test easier to read, so
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
(Patch left unsnipped for reference.)
Show 43 quoted lines
> Signed-off-by: Brandon Casey <drafnel@gmail.com>
> ---
>  t/t7502-commit.sh | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh
> index 9040f8a..39e55f8 100755
> --- a/t/t7502-commit.sh
> +++ b/t/t7502-commit.sh
> @@ -177,10 +177,18 @@ test_expect_success 'verbose respects diff config' '
>  	git config --unset color.diff
>  '
>  
> +mesg_with_comment_and_newlines='
> +# text
> +
> +'
> +
> +test_expect_success 'prepare file with comment line and trailing newlines'  '
> +	printf "%s" "$mesg_with_comment_and_newlines" >expect
> +'
> +
>  test_expect_success 'cleanup commit messages (verbatim option,-t)' '
>  
>  	echo >>negative &&
> -	{ echo;echo "# text";echo; } >expect &&
>  	git commit --cleanup=verbatim --no-status -t expect -a &&
>  	git cat-file -p HEAD |sed -e "1,/^\$/d" >actual &&
>  	test_cmp expect actual
> @@ -196,10 +204,10 @@ test_expect_success 'cleanup commit messages (verbatim option,-F)' '
>  
>  '
>  
> -test_expect_success 'cleanup commit messages (verbatim option,-m)' '
> +test_expect_failure 'cleanup commit messages (verbatim option,-m)' '
>  
>  	echo >>negative &&
> -	git commit --cleanup=verbatim -m "$(cat expect)" -a &&
> +	git commit --cleanup=verbatim -m "$mesg_with_comment_and_newlines" -a &&
>  	git cat-file -p HEAD |sed -e "1,/^\$/d">actual &&
>  	test_cmp expect actual
>  
> -- 
Previous: Brandon CaseyNext: Brandon Casey
Message 3 of 19 in “t/t7502: compare entire commit message with what was expected”
  1. 1/4 t/t7502: compare entire commit message with what was expectedBrandon Casey, Feb 19, 2013
  2. 2/4 t7502: demonstrate breakage with a commit message with trailing newlinesBrandon Casey, Feb 19, 2013
  3. Jonathan NiederFeb 19, 2013
  4. 3/4 git-commit: only append a newline to -m mesg if necessaryBrandon Casey, Feb 19, 2013
  5. Jonathan NiederFeb 19, 2013
  6. 4/4 Documentation/git-commit.txt: correct a few minor grammatical mistakesBrandon Casey, Feb 19, 2013
  7. Jonathan NiederFeb 19, 2013
  8. Brandon CaseyFeb 19, 2013
  9. Jonathan NiederFeb 19, 2013
  10. Junio C HamanoFeb 19, 2013
  11. 4/4 Documentation/git-commit.txt: rework the --cleanup sectionBrandon Casey, Feb 19, 2013
  12. 4/4 Documentation/git-commit.txt: rework the --cleanup sectionBrandon Casey, Feb 19, 2013
  13. 4/4 Documentation/git-commit.txt: rework the --cleanup sectionBrandon Casey, Feb 19, 2013
  14. fixup! Documentation/git-commit.txt: rework the --cleanup sectionJonathan Nieder, Feb 19, 2013
  15. Brandon CaseyFeb 19, 2013
  16. Junio C HamanoFeb 19, 2013
  17. Jonathan NiederFeb 19, 2013
  18. Jonathan NiederFeb 19, 2013
  19. Junio C HamanoFeb 19, 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.