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 <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html