Junio C Hamano wrote: > Kim Altintop <kim@xxxxxxxxx> writes: >> Perhaps an alternative would be: >> >> write_fetch_command () { >> write_command fetch && >> echo "0001" && >> echo "no-progress" && >> cat /dev/stdin && >> echo "done" && >> echo "0000" >> } >> >> >> Which would then be called like so: >> >> write_fetch_command >pkt_cmd <<-EOF && >> want-ref refs/heads/main >> have $(git rev-parse a) >> EOF >> test-tool pkt-line pack <pkt_cmd >in && >> test-tool serve-v2 --stateless-rpc >out <in && >> >> >> I'm not sure how portable that is, though. Maybe using `while read -r` instead >> of `cat /dev/stdin`? > > If you drop /dev/stdin, the result would be emimently portable. > "cat" without any argument reads from the standard input stream > and copies it to the standard output stream. Yep, with that tweak (using "cat" instead of "cat /dev/stdin") this looks like a pleasant enough helper. Jonathan