On Sun, Feb 21, 2016 at 06:19:14PM -0500, Jeff King wrote: > On Sun, Feb 21, 2016 at 04:01:27PM -0500, Eric Sunshine wrote: > > > On Sun, Feb 21, 2016 at 12:32 PM, John Keeping <john@xxxxxxxxxxxxx> wrote: > > > GNU grep 2.23 detects the input used in this test as binary data so it > > > does not work for extracting lines from a file. We could add the "-a" > > > option to force grep to treat the input as text, but not all > > > implementations support that. Instead, use sed to extract the desired > > > lines since it will always treat its input as text. > > > > > > While touching these lines, modernize the test style to avoid hiding the > > > exit status of "git blame" and remove a space following a redirection > > > operator. > > > > > > Signed-off-by: John Keeping <john@xxxxxxxxxxxxx> > > > --- > > > diff --git a/t/t8005-blame-i18n.sh b/t/t8005-blame-i18n.sh > > > @@ -35,8 +35,8 @@ EOF > > > test_expect_success !MINGW \ > > > 'blame respects i18n.commitencoding' ' > > > - git blame --incremental file | \ > > > - egrep "^(author|summary) " > actual && > > > + git blame --incremental file >output && > > > + sed -ne "/^\(author\|summary\) /p" output >actual && > > > > These tests all crash and burn with BSD sed (including Mac OS X) since > > you're not restricting yourself to BRE (basic regular expressions). > > You _could_ request extended regular expressions, which do work on > > those platforms, as well as with GNU sed: > > > > sed -nEe "/^(author|summary) /p" ... > > At that point, I think we may as well use grep, because obscure > platforms are probably broken either way. Also GNU sed doesn't understand "-E", it uses "-r" for --regexp-extended. > I'm tempted to just go the perl route. We already depend on at least a > baisc version of perl5 being installed for many of the other tests, so > it's not really introducing a new dependency. > > Something like the patch below works for me. I think we could make it > shorter by using $PERLIO to get the raw behavior, but using binmode will > work even on ancient versions of perl. > > John, if you agree on the direction, feel free to combine it with your > patch. My original sed version was: sed -ne "/^author /p" -e "/^summary /p" which I think will work on all platforms (we already use it in t0000-basic.sh) but then I decided to be too clever :-( I still think sed is simpler than introducing a new function to wrap a perl script. -- 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