On Fri, Aug 31, 2018 at 02:40:12PM -0400, Eric Sunshine wrote: > On Fri, Aug 31, 2018 at 2:21 PM Torsten Bögershausen wrote: > > Out of interest: why do we use a "tmp" file here? > > Would it make more sense to chain the 'tr' with 'sed' and skip the > > tmp file ? > > > > tr '\015\000abcdef0123456789' QN00000000000000000 <"$2" | > > sed -e "s/0000*/$ZERO_OID/" >"$exp" && > > > > Yes, we will loose the exit status of 'tr', I think. > > How important is the exit status ? > > As far as I understand, it is only Git commands for which we worry > about losing the exit status upstream in pipes. System utilities, on > the other hand, are presumed to be bug-free, thus we don't mind having > them upstream. If that's the case, that's fine, and I can make that change. I know that we do often want to preserve the exit status of a system command, but presumably the tr and sed here would exit 0, so I'm happy to assume that for the test. > A different question is why does this need to run both 'tr' and 'sed' > when 'sed itself could do the entire job since 'sed' has 'tr' > functionality built in (see sed's "y" command)? It doesn't. I went for a minimal change, but I could switch to using both s/// and y/// in sed instead. -- brian m. carlson: Houston, Texas, US OpenPGP: https://keybase.io/bk2204