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

Re: [PATCH 3/7] refactor argv_array into generic code

From
Jeff King <peff@peff.net>
Date
Sep 14, 2011, 23:18 UTC
Message-ID
<20110914231804.GB5611@sigill.intra.peff.net>
In-Reply-To
<CAP8UFD1vxP9ABgJpM99hxDWWLeGO_QW7QLVFq1f-teu1fiCftA@mail.gmail.com>
On Wed, Sep 14, 2011 at 07:54:48AM +0200, Christian Couder wrote:
> In sha1-array you called the "push" function "sha1_array_append"
> instead of "sha1_array_push", so I wonder why here you call them
> "*_push*" instead of "*_append*"?

I dunno. It just seemed natural to write "push" in the context of argv. Maybe too much perl (push, pop, shift, unshift).

argv_array_append does make sense. One could argue that sha1_array_append actually doesn't. True, it does append to the end of the array, but after writing the docs for it yesterday, I realized that it less of an array, and more of a set container. Because the point of using it is the optimized lookup/unique function, which is going to sort it. The array is really just an implementation detail.

So arguably it should be "struct sha1_set", and "sha1_set_insert" or something. I'm not sure if it's really worth changing (because this is C, our data structures tend to be a little leaky, anyway, and you _can_ use sha1_array as an ordered list if you want; just don't call the lookup or sorting functions).

-Peff
Previous: Christian CouderNext: Junio C Hamano
Message 6 of 18 in “create argv_array API”
  1. 0/7 create argv_array APIJeff King, Sep 13, 2011
  2. 1/7 add sha1_array API docsJeff King, Sep 13, 2011
  3. 2/7 quote.h: fix bogus commentJeff King, Sep 13, 2011
  4. 3/7 refactor argv_array into generic codeJeff King, Sep 13, 2011
  5. Christian CouderSep 14, 2011
  6. Jeff KingSep 14, 2011
  7. Junio C HamanoSep 14, 2011
  8. Junio C HamanoSep 14, 2011
  9. 4/7 quote: provide sq_dequote_to_argv_arrayJeff King, Sep 13, 2011
  10. 5/7 bisect: use argv_array APIJeff King, Sep 13, 2011
  11. 6/7 checkout: use argv_array APIJeff King, Sep 13, 2011
  12. 7/7 run_hook: use argv_array APIJeff King, Sep 13, 2011
  13. [nit] diff func headers ignore contextJeff King, Sep 13, 2011
  14. Andreas EricssonSep 14, 2011
  15. Junio C HamanoSep 14, 2011
  16. Junio C HamanoSep 14, 2011
  17. Jeff KingSep 14, 2011
  18. Junio C HamanoSep 14, 2011

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.