Hi Junio, On Tue, 25 Apr 2017, Junio C Hamano wrote: > Jonathan Nieder <jrnieder@xxxxxxxxx> writes: > > > Jonathan Tan wrote: > > > > [...] > >> --- a/t/t3511-cherry-pick-x.sh > >> +++ b/t/t3511-cherry-pick-x.sh > >> @@ -208,6 +208,20 @@ test_expect_success 'cherry-pick -x -s adds sob even when trailing sob exists fo > >> test_cmp expect actual > >> ' > >> > >> +test_expect_success 'cherry-pick -x handles commits with no NL at end of message' ' > >> + pristine_detach initial && > >> + sha1=$(printf "title\n\nSigned-off-by: a" | git commit-tree -p initial mesg-with-footer^{tree}) && > > > > nit: Should this use a more typical sign-off line with an email > > address, to avoid a false-positive success in case git becomes more > > strict about its signoffs in the future? > > > > Something like > > > > printf "title\n\nSigned-off-by: S. I. Gner <signer@xxxxxxxxxxx>" >msg && > > sha1=$(git commit-tree -p initial mesg-with-footer^{tree} <msg) && > > ... > > That is a good point and has an added benefit that the test script > becomes easier to follow. If you already try to make it easier to follow, you might just as well go the whole nine yards: > diff --git a/t/t3511-cherry-pick-x.sh b/t/t3511-cherry-pick-x.sh > index 6f518020b2..c2b143802d 100755 > --- a/t/t3511-cherry-pick-x.sh > +++ b/t/t3511-cherry-pick-x.sh > @@ -210,12 +210,14 @@ test_expect_success 'cherry-pick -x -s adds sob even when trailing sob exists fo > > test_expect_success 'cherry-pick -x handles commits with no NL at end of message' ' > pristine_detach initial && > - sha1=$(printf "title\n\nSigned-off-by: a" | git commit-tree -p initial mesg-with-footer^{tree}) && > + signer="S. I. Gner <signer@xxxxxxxxxxx>" && > + printf "title\n\nSigned-off-by: %s" "$signer" >msg && > + sha1=$(git commit-tree -p initial mesg-with-footer^{tree} <msg) && > git cherry-pick -x $sha1 && > cat <<-EOF >expect && > title > > - Signed-off-by: a > + Signed-off-by: $signer > (cherry picked from commit $sha1) > EOF > git log -1 --pretty=format:%B >actual && It is even easier to read `--format=%B` than `--pretty=format:%B`, and as `%B` does *not* indent, the indentation in the lines writing the `expect` file is bogus anyway. And with the `msg` file having most of the stuff already, we Do Not Need To Repeat Ourselves: printf '\n(cherry picked from commit %s)\n' $sha1 >>msg && git log -1 --format=%B >actual && test_cmp msg actual Ciao, Dscho