On Thu, Oct 08, 2015 at 12:00:54PM +0200, Michael J Gruber wrote: > Michael J Gruber venit, vidit, dixit 08.10.2015 10:43: > > Michael J Gruber venit, vidit, dixit 08.10.2015 10:15: > >> James McCoy venit, vidit, dixit 08.10.2015 07:01: > > ... > >> [No, this does not alleviate my dislike for the commit signature > >> implementation, and I have not checked the patch - the test looks good > >> to me, though.] > > > > OK, now grumpy ol' Mike actually tested the patch with all our tests > > that filter-branch something. All is good, and the new test catches the > > regression when run without the patch. > > > > I do think that the parser still has a problem that it had before > > already: it does not distinguish between an empty line and an all white > > space line (or else we didn't have a problem here at all). > > > > In that sense, the patch is wrong, it does not correct the parser > > deficiency. But it alleviates it for the special case of embedded > > signatures, which currently is the only exceptional case that I am aware > > of. It's not guaranteed to stay like that, of course. So maybe, one > > should amend the commit message by saying that. > > > > Michael > > > > ... or do the right thing: Indeed. This fixes the actual problem of not consuming the entire header, rather than the specific instance of the problem I encountered. > diff --git i/git-filter-branch.sh w/git-filter-branch.sh > index 5777947..27c9c54 100755 > --- i/git-filter-branch.sh > +++ w/git-filter-branch.sh > @@ -377,7 +377,7 @@ while read commit parents; do > fi > > { > - while read -r header_line && test -n "$header_line" > + while IFS='' read -r header_line && test -n "$header_line" > do > # skip header lines... > :; > > > Not tested for POSIX etc., maybe we need a bare IFS inside a {} block > instead. In any case, we need to tell read not to split by words. As far as I can tell, this should be fine in terms of POSIX. Cheers, -- James GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy <vega.james@xxxxxxxxx> -- 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