Johannes Schindelin <johannes.schindelin@xxxxxx> writes: > Just like the pretty printing machinery, we should simply ignore empty > lines at the beginning of the commit messages. Thanks. > > This discrepancy was noticed when an early version of the rebase--helper > produced commit objects with more than one empty line between the header > and the commit message. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > --- > Published-As: https://github.com/dscho/git/releases/tag/leading-empty-lines-v2 > > git blame seemed to be the most accessible user of > find_commit_subject()... > > commit.c | 2 ++ > t/t8008-blame-formats.sh | 17 +++++++++++++++++ > 2 files changed, 19 insertions(+) > Interdiff vs v1: > > diff --git a/t/t8008-blame-formats.sh b/t/t8008-blame-formats.sh > index 29f84a6..03bd313 100755 > --- a/t/t8008-blame-formats.sh > +++ b/t/t8008-blame-formats.sh > @@ -87,4 +87,21 @@ test_expect_success 'blame --line-porcelain output' ' > test_cmp expect actual > ' > > +test_expect_success '--porcelain detects first non-empty line as subject' ' > + ( > + GIT_INDEX_FILE=.git/tmp-index && > + export GIT_INDEX_FILE && > + echo "This is it" >single-file && > + git add single-file && > + tree=$(git write-tree) && > + commit=$(printf "%s\n%s\n%s\n\n\noneline\n\nbody\n" \ > + "tree $tree" \ > + "author A <a@b.c> 123456789 +0000" \ > + "committer C <c@d.e> 123456789 +0000" | > + git hash-object -w -t commit --stdin) && > + git blame --porcelain $commit -- single-file >output && > + grep "^summary oneline$" output > + ) > +' > + > test_done > > > diff --git a/commit.c b/commit.c > index 3f4f371..7b00989 100644 > --- a/commit.c > +++ b/commit.c > @@ -415,6 +415,8 @@ int find_commit_subject(const char *commit_buffer, const char **subject) > p++; > if (*p) { > p += 2; > + while (*p == '\n') > + p++; > for (eol = p; *eol && *eol != '\n'; eol++) > ; /* do nothing */ > } else > diff --git a/t/t8008-blame-formats.sh b/t/t8008-blame-formats.sh > index 29f84a6..03bd313 100755 > --- a/t/t8008-blame-formats.sh > +++ b/t/t8008-blame-formats.sh > @@ -87,4 +87,21 @@ test_expect_success 'blame --line-porcelain output' ' > test_cmp expect actual > ' > > +test_expect_success '--porcelain detects first non-empty line as subject' ' > + ( > + GIT_INDEX_FILE=.git/tmp-index && > + export GIT_INDEX_FILE && > + echo "This is it" >single-file && > + git add single-file && > + tree=$(git write-tree) && > + commit=$(printf "%s\n%s\n%s\n\n\noneline\n\nbody\n" \ > + "tree $tree" \ > + "author A <a@b.c> 123456789 +0000" \ > + "committer C <c@d.e> 123456789 +0000" | > + git hash-object -w -t commit --stdin) && > + git blame --porcelain $commit -- single-file >output && > + grep "^summary oneline$" output > + ) > +' > + > test_done -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html