On Fri, Apr 05, 2019 at 04:53:45PM -0400, Jeff King wrote: > On Fri, Apr 05, 2019 at 03:25:43PM -0400, Eric Sunshine wrote: > > > On Fri, Apr 5, 2019 at 2:24 PM Jeff King <peff@xxxxxxxx> wrote: > > > On Fri, Apr 05, 2019 at 12:50:33PM +0200, SZEDER Gábor wrote: > > > > > + git cat-file commit $commit | > > > > > + perl -lpe "/^author/ && print q(parent $blob)" \ > > > > > + >broken-commit && > > > > > > > Wouldn't a 'sed' one-liner suffice, so we won't have yet another perl > > > > dependency? > > > > > > Heh, this was actually the subject of much discussion before the patches > > > hit the list. If you can write such a one-liner that is both readable > > > and portable, please share it. I got disgusted with sed and suggested > > > this perl. > > > > Trivial and portable 'sed' equivalent: > > > > git cat-file commit $commit | sed "/^author/ { h; s/.*/parent $blob/; G; }" > > I always forget about the hold space. That's pretty readable (though > being sed, it's terse enough that I actually think the perl is more > readable; that may be personal taste, though). Ah, very nice. Thanks Eric, your sed-fu is much stronger than mine ;-). I share Peff's view that this might be less readable than its Perl counterpart, but am similarly sympathetic to the notion that more Perl is a bad example in 't'. I think that I'll take this for v2 and get rid of the Perl. Thanks, Taylor