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

[PATCH v2 00/19] add strbuf_set operations

From
Jeremiah Mahler <jmmahler@gmail.com>
Date
Jun 9, 2014, 22:19 UTC
Message-ID
<cover.1402348696.git.jmmahler@gmail.com>
Version 2 of the patch set to add strbuf_set operations.
Includes suggestions from Eric Sunshine [1]:
  - New operations and their documentation placed in one patch.
  - Less ambiguous documentation: "Replace the buffer content with [...]"
  - Use imperative mood in log messages.
  - Don't use strbuf_set operations in cases where strbuf_add is used to
    build up a buffer in multiple steps.  Multiple adds suggest that
	re-ordering is possible whereas a strbuf_set at the beginning
	suggests that it isn't.  This is confusing.

Using strbuf_set before a sequence of adds can be confusing. But using strbuf_add when nothing important was being added to can also be confusing. strbuf_set can be used to make these cases more clear.

  struct strbuf mybuf = STRBUF_INIT;
  strbuf_add(&mybuf, ...);  /* Was something there before? */
  strbuf_set(&mybuf, ...);  /* Replace everything. */
Several single line replacements were made for this reason.
Additional files have also been converted compared to version 1 [1].
[1]: http://marc.info/?l=git&m=140230874124060&w=2
Jeremiah Mahler (19):
  add strbuf_set operations
  sha1_name: simplify via strbuf_set()
  fast-import: simplify via strbuf_set()
  builtin/remote: simplify via strbuf_set()
  branch: simplify via strbuf_set()
  builtin/branch: simplify via strbuf_set()
  builtin/checkout: simplify via strbuf_set()
  builtin/mailinfo: simplify via strbuf_set()
  builtin/tag: simplify via strbuf_set()
  date: simplify via strbuf_set()
  diffcore-order: simplify via strbuf_set()
  http-backend: simplify via strbuf_set()
  http: simplify via strbuf_set()
  ident: simplify via strbuf_set()
  remote-curl: simplify via strbuf_set()
  submodule: simplify via strbuf_set()
  transport: simplify via strbuf_set()
  vcs-svn/svndump: simplify via strbuf_set()
  wt-status: simplify via strbuf_set()
 Documentation/technical/api-strbuf.txt | 18 +++++++++++
 branch.c                               |  6 ++--
 builtin/branch.c                       |  3 +-
 builtin/checkout.c                     | 18 ++++-------
 builtin/mailinfo.c                     | 18 ++++-------
 builtin/remote.c                       | 59 ++++++++++++----------------------
 builtin/tag.c                          |  3 +-
 date.c                                 |  3 +-
 diffcore-order.c                       |  3 +-
 fast-import.c                          |  6 ++--
 http-backend.c                         |  6 ++--
 http.c                                 |  3 +-
 ident.c                                |  6 ++--
 remote-curl.c                          |  3 +-
 sha1_name.c                            | 15 +++------
 strbuf.c                               | 21 ++++++++++++
 strbuf.h                               | 14 ++++++++
 submodule.c                            |  5 ++-
 transport.c                            |  3 +-
 vcs-svn/svndump.c                      |  3 +-
 wt-status.c                            |  3 +-
 21 files changed, 110 insertions(+), 109 deletions(-)
-- 
2.0.0.592.gf55b190
Next: Jeremiah Mahler
Message 1 of 28 in “add strbuf_set operations”
  1. 00/19 add strbuf_set operationsJeremiah Mahler, Jun 9, 2014
  2. 01/19 add strbuf_set operationsJeremiah Mahler, Jun 9, 2014
  3. Eric SunshineJun 11, 2014
  4. Jeremiah MahlerJun 12, 2014
  5. Michael HaggertyJun 11, 2014
  6. Jeremiah MahlerJun 12, 2014
  7. Michael HaggertyJun 12, 2014
  8. Jeremiah MahlerJun 12, 2014
  9. 02/19 sha1_name: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  10. 03/19 fast-import: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  11. 04/19 builtin/remote: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  12. 05/19 branch: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  13. 06/19 builtin/branch: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  14. 07/19 builtin/checkout: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  15. 08/19 builtin/mailinfo: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  16. 09/19 builtin/tag: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  17. 10/19 date: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  18. 11/19 diffcore-order: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  19. 12/19 http-backend: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  20. 13/19 http: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  21. 14/19 ident: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  22. 15/19 remote-curl: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  23. 16/19 submodule: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  24. 17/19 transport: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  25. 18/19 vcs-svn/svndump: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  26. 19/19 wt-status: simplify via strbuf_set()Jeremiah Mahler, Jun 9, 2014
  27. Eric SunshineJun 11, 2014
  28. Jeremiah MahlerJun 12, 2014

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.