Patrick Steinhardt <ps@xxxxxx> writes: > +print_all_reflog_entries () { > + repo=$1 && > + test-tool -C "$repo" ref-store main for-each-reflog >reflogs && > + cat reflogs | while read reflog > + do > + echo "REFLOG: $reflog" && > + test-tool -C "$repo" ref-store main for-each-reflog-ent "$reflog" || > + return 1 > + done Let's not cat a single file into a pipe. What is on the downstream side of such a pipe is always prepared to read from its standard input. I.e. test-tool ... >reflogs && while read reflog do ... done <reflogs