On Fri, Sep 21, 2018 at 09:39:14AM -0700, Junio C Hamano wrote: > Taylor Blau <ttaylorr@xxxxxxxxxx> writes: > > > +extract_haves () { > > + depacketize - | grep -o '^.* \.have' > > Not portable, isn't it? > > cf. http://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html Good catch. Definitely not portable, per the link that you shared above. Since 'depacketize()' will give us a "\0", we can pull it and anything after it out with 'sed', instead. Any lines that don't contain a "\0" only contain an OID and the literal, ".have", and are fine as-is. Something like this: extract_haves () { depacketize - | grep '^.* \.have' | sed -e 's/\\0.*$//g' } Harder to read--at least for me--but infinitely more portable. I'll wait until a little later today, and then send you v2. Thanks for reviewing :-). Thanks, Taylor