git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v4 1/5] t9300: factor out portable "head -c" replacement

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 1, 2016, 17:23 UTC
Message-ID
<xmqqd1mxz30m.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20160630090753.GA17463@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
> In shell scripts it is sometimes useful to be able to read
> exactly N bytes from a pipe. Doing this portably turns out
> to be surprisingly difficult.
I'd rotate the above by three words ;-).
    It is sometimes useful to be able to read
    exactly N bytes from a pipe. Doing this portably turns out
    to be surprisingly difficult
    in shell scripts.
>   - "dd bs=1 count=$n" fixes the partial read problem (all
>     reads are 1-byte, so there can be no partial response).
>     It does make a lot of write() calls, but for our tests
>     that's unlikely to matter.

It makes me wonder if it helps to use different ibs and obs if many writes bother you, but because this patch moves us away from dd, that is a moot point.

> That makes the perl solution the least bad (because we
> conveniently omitted "length of code" as a criterion).
> It's also what t9300 is currently using, so we can just pull
> the implementation from there.
;-).
The patch itself is good.
Previous: Eric SunshineNext: Jeff King
Message 11 of 42 in “friendlier handling of overflows in archive-tar”
  1. 0/5 friendlier handling of overflows in archive-tarJeff King, Jun 30, 2016
  2. 5/5 archive-tar: drop return valueJeff King, Jun 30, 2016
  3. 3/5 archive-tar: write extended headers for file sizes >= 8GBJeff King, Jun 30, 2016
  4. Johannes SixtJul 14, 2016
  5. Junio C HamanoJul 14, 2016
  6. Jeff KingJul 14, 2016
  7. Torsten BögershausenJul 15, 2016
  8. 4/5 archive-tar: write extended headers for far-future mtimeJeff King, Jun 30, 2016
  9. 1/5 t9300: factor out portable "head -c" replacementJeff King, Jun 30, 2016
  10. Eric SunshineJul 1, 2016
  11. Junio C HamanoJul 1, 2016
  12. Jeff KingJul 1, 2016
  13. 6/5 t5000: use test_match_signalJeff King, Jun 30, 2016
  14. 2/5 t5000: test tar files that overflow ustar headersJeff King, Jun 30, 2016
  15. Johannes SchindelinJul 14, 2016
  16. Johannes SixtJul 14, 2016
  17. Junio C HamanoJul 14, 2016
  18. Johannes SixtJul 14, 2016
  19. Jeff KingJul 14, 2016
  20. Junio C HamanoJul 14, 2016
  21. Jeff KingJul 14, 2016
  22. Torsten BögershausenJul 15, 2016
  23. Jeff KingJul 15, 2016
  24. Junio C HamanoJul 14, 2016
  25. Jeff KingJul 14, 2016
  26. Jeff KingJul 14, 2016
  27. Junio C HamanoJul 14, 2016
  28. Junio C HamanoJul 14, 2016
  29. Jeff KingJul 14, 2016
  30. Junio C HamanoJul 14, 2016
  31. Jeff KingJul 14, 2016
  32. Junio C HamanoJul 14, 2016
  33. Jeff KingJul 14, 2016
  34. Junio C HamanoJul 14, 2016
  35. 0/2 ulong may only be 32-bit wideJunio C Hamano, Jul 14, 2016
  36. 2/2 archive-tar: huge offset and future timestamps would not work on 32-bitJunio C Hamano, Jul 14, 2016
  37. Jeff KingJul 14, 2016
  38. Junio C HamanoJul 14, 2016
  39. Duy NguyenJul 16, 2016
  40. 1/2 t0006: skip "far in the future" test when unsigned long is not long enoughJunio C Hamano, Jul 14, 2016
  41. Johannes SchindelinJul 15, 2016
  42. Junio C HamanoJul 15, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.