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

[PATCH 0/11] renaming argv_array

From
Jeff King <peff@peff.net>
Date
Jul 28, 2020, 20:21 UTC
Message-ID
<20200728202124.GA1021264@coredump.intra.peff.net>

The argv_array data type has turned out to be useful in our code base, but the name isn't very good. From patch 2 of this series:

  The name "argv-array" isn't very good, because it describes what the
  data type can be used for (program argument arrays), not what it
  actually is (a dynamically-growing string array that maintains a
  NULL-terminator invariant). This leads to people being hesitant to use
  it for other cases where it would actually be a good fit. The existing
  name is also clunky to use. It's overly long, and the name often leads
  to saying things like "argv.argv" (i.e., the field names overlap with
  variable names, since they're describing the use, not the type). Let's
  give it a more neutral name.

This has bugged me for a while, so I decided to finally fix it. It wasn't _too_ painful, though I'm sure there will be a little fallout with topics in flight.

I tried to split out the mechanical bits into their own patches to make reviewing easier. Patches 5-7 really could be a single patch, but they're too big for the mailing list. I'm OK to leave them separate, or they could be squashed together.

We could stop at patch 9 for now and allow topics in flight to catch up before removing the compat layers. But the struct field renaming has to happen as a single step, so it will be a pain whenever we do it. If we're going to go this route, I'd just as soon do it all now and deal with other topics as they get merged.

  [01/11]: argv-array: use size_t for count and alloc
  [02/11]: argv-array: rename to strvec
  [03/11]: strvec: rename files from argv-array to strvec
  [04/11]: quote: rename sq_dequote_to_argv_array to mention strvec
  [05/11]: strvec: convert builtin/ callers away from argv_array name
  [06/11]: strvec: convert more callers away from argv_array name
  [07/11]: strvec: convert remaining callers away from argv_array name
  [08/11]: strvec: fix indentation in renamed calls
  [09/11]: strvec: update documention to avoid argv_array
  [10/11]: strvec: drop argv_array compatibility layer
  [11/11]: strvec: rename struct fields
 Documentation/technical/api-parse-options.txt |   4 +-
 Makefile                                      |   2 +-
 add-interactive.c                             |  28 +--
 add-patch.c                                   |  48 ++--
 argv-array.c                                  | 109 ---------
 bisect.c                                      |  20 +-
 builtin/add.c                                 |  18 +-
 builtin/am.c                                  |  80 +++----
 builtin/annotate.c                            |  10 +-
 builtin/bisect--helper.c                      |  20 +-
 builtin/bundle.c                              |  14 +-
 builtin/clone.c                               |  38 +--
 builtin/commit.c                              |   8 +-
 builtin/describe.c                            |  44 ++--
 builtin/difftool.c                            |  30 +--
 builtin/fetch.c                               |  64 ++---
 builtin/gc.c                                  |  78 +++----
 builtin/grep.c                                |   2 +-
 builtin/log.c                                 |  12 +-
 builtin/ls-remote.c                           |   6 +-
 builtin/pack-objects.c                        |  26 +--
 builtin/pull.c                                | 160 ++++++-------
 builtin/range-diff.c                          |   4 +-
 builtin/rebase.c                              |  90 ++++----
 builtin/receive-pack.c                        | 126 +++++-----
 builtin/remote-ext.c                          |   4 +-
 builtin/remote.c                              |  26 +--
 builtin/repack.c                              |  72 +++---
 builtin/replace.c                             |  18 +-
 builtin/show-branch.c                         |  16 +-
 builtin/stash.c                               | 162 ++++++-------
 builtin/submodule--helper.c                   | 144 ++++++------
 builtin/update-ref.c                          |   2 +-
 builtin/upload-archive.c                      |  12 +-
 builtin/worktree.c                            |  68 +++---
 bundle.c                                      |  24 +-
 bundle.h                                      |   4 +-
 column.c                                      |  12 +-
 commit.c                                      |  10 +-
 compat/mingw.c                                |   4 +-
 compat/terminal.c                             |  18 +-
 connect.c                                     |  69 +++---
 connected.c                                   |  24 +-
 daemon.c                                      |  60 ++---
 diff.c                                        |  32 +--
 environment.c                                 |  12 +-
 exec-cmd.c                                    |  18 +-
 exec-cmd.h                                    |   4 +-
 fast-import.c                                 |   4 +-
 fetch-pack.c                                  |  46 ++--
 fsmonitor.c                                   |   6 +-
 git.c                                         |  32 +--
 gpg-interface.c                               |  22 +-
 graph.c                                       |  16 +-
 http-backend.c                                |   8 +-
 http-push.c                                   |  18 +-
 http.c                                        |   8 +-
 imap-send.c                                   |   2 +-
 line-log.c                                    |   8 +-
 list-objects-filter-options.c                 |   2 +-
 ls-refs.c                                     |  18 +-
 ls-refs.h                                     |   4 +-
 merge.c                                       |  18 +-
 midx.c                                        |  12 +-
 pager.c                                       |   8 +-
 parse-options-cb.c                            |   8 +-
 pathspec.c                                    |  10 +-
 quote.c                                       |   8 +-
 quote.h                                       |   8 +-
 range-diff.c                                  |  40 ++--
 range-diff.h                                  |   4 +-
 ref-filter.c                                  |  12 +-
 refs.c                                        |   8 +-
 refs.h                                        |   4 +-
 refspec.c                                     |  10 +-
 refspec.h                                     |   4 +-
 remote-curl.c                                 | 102 ++++----
 remote-testsvn.c                              |  10 +-
 remote.c                                      |  20 +-
 remote.h                                      |   4 +-
 revision.c                                    |  20 +-
 run-command.c                                 |  72 +++---
 run-command.h                                 |  12 +-
 send-pack.c                                   |  18 +-
 sequencer.c                                   | 126 +++++-----
 serve.c                                       |  20 +-
 serve.h                                       |   4 +-
 sha1-file.c                                   |  14 +-
 strvec.c                                      | 109 +++++++++
 argv-array.h => strvec.h                      |  58 ++---
 sub-process.c                                 |   2 +-
 submodule.c                                   | 218 +++++++++---------
 submodule.h                                   |   6 +-
 t/helper/test-run-command.c                   |  52 ++---
 t/helper/test-trace2.c                        |   2 +-
 tmp-objdir.c                                  |  20 +-
 transport-helper.c                            |  36 +--
 transport-internal.h                          |   4 +-
 transport.c                                   |  12 +-
 transport.h                                   |   2 +-
 unpack-trees.c                                |  12 +-
 unpack-trees.h                                |   4 +-
 upload-pack.c                                 |  53 +++--
 upload-pack.h                                 |   4 +-
 wt-status.c                                   |  19 +-
 105 files changed, 1619 insertions(+), 1620 deletions(-)
 delete mode 100644 argv-array.c
 create mode 100644 strvec.c
 rename argv-array.h => strvec.h (50%)
Next: Jeff King
Message 1 of 46 in “renaming argv_array”
  1. 0/11 renaming argv_arrayJeff King, Jul 28, 2020
  2. 01/11 argv-array: use size_t for count and allocJeff King, Jul 28, 2020
  3. 02/11 argv-array: rename to strvecJeff King, Jul 28, 2020
  4. 03/11 strvec: rename files from argv-array to strvecJeff King, Jul 28, 2020
  5. 04/11 quote: rename sq_dequote_to_argv_array to mention strvecJeff King, Jul 28, 2020
  6. 05/11 strvec: convert builtin/ callers away from argv_array nameJeff King, Jul 28, 2020
  7. 06/11 strvec: convert more callers away from argv_array nameJeff King, Jul 28, 2020
  8. 07/11 strvec: convert remaining callers away from argv_array nameJeff King, Jul 28, 2020
  9. 08/11 strvec: fix indentation in renamed callsJeff King, Jul 28, 2020
  10. Jacob KellerJul 28, 2020
  11. Junio C HamanoJul 28, 2020
  12. 09/11 strvec: update documention to avoid argv_arrayJeff King, Jul 28, 2020
  13. 10/11 strvec: drop argv_array compatibility layerJeff King, Jul 28, 2020
  14. Junio C HamanoJul 28, 2020
  15. Jeff KingJul 29, 2020
  16. Jeff KingJul 29, 2020
  17. Jeff KingJul 29, 2020
  18. Junio C HamanoJul 29, 2020
  19. Derrick StoleeJul 29, 2020
  20. Junio C HamanoJul 29, 2020
  21. Jeff KingJul 29, 2020
  22. 11/11 strvec: rename struct fieldsJeff King, Jul 28, 2020
  23. Junio C HamanoJul 28, 2020
  24. Junio C HamanoJul 28, 2020
  25. Christian CouderJul 29, 2020
  26. Jeff KingJul 29, 2020
  27. Junio C HamanoJul 29, 2020
  28. Jeff KingJul 28, 2020
  29. Jacob KellerJul 28, 2020
  30. Jeff KingJul 29, 2020
  31. Christian CouderJul 29, 2020
  32. Christian CouderJul 29, 2020
  33. Eric SunshineJul 29, 2020
  34. Jeff KingJul 29, 2020
  35. René ScharfeAug 11, 2020
  36. Taylor BlauAug 11, 2020
  37. Junio C HamanoAug 11, 2020
  38. Jacob KellerAug 11, 2020
  39. Junio C HamanoAug 11, 2020
  40. Johannes SchindelinAug 12, 2020
  41. Jeff KingAug 12, 2020
  42. Jeff KingAug 12, 2020
  43. René ScharfeAug 12, 2020
  44. Jeff KingAug 12, 2020
  45. René ScharfeAug 12, 2020
  46. Jeff KingAug 12, 2020

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.