From: Jonathan Nieder Date: Tue, 19 Feb 2013 05:39:20 GMT Subject: Re: [PATCH 2/4] t7502: demonstrate breakage with a commit message with trailing newlines 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 (Patch left unsnipped for reference.) > Signed-off-by: Brandon Casey > --- > 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 > > --