Subject: [PATCH 0/9] do not overuse strbuf_split*()

From: Junio C Hamano <[email-masked]>
Date: Thu, 31 Jul 2025 00:41:45 -0700

strbuf is a very good data structure to work with string data
without having to worry about running past the end of the string.

But an array of strbuf is often a wrong data structure.  You rarely
have need to be able to edit multiple strings represented by such an
array simultaneously.  And strbuf_split*() that produces result in
such a shape is a misdesigned API function.

The most common use case of strbuf_split*() family of functions
seems to be to trim away the whitespaces around each piece of split
string.  With modern string_list_split*(), it is often no longer
necessary.

This series builds on top of the other series that extends string
list API to allow string_list_split() to take more than one delimiter
bytes, and to optionally trim the resulting string pieces.

Junio C Hamano (9):
  wt-status: avoid strbuf_split*()
  clean: do not pass strbuf by value
  clean: do not use strbuf_split*() [part 1]
  clean: do not use strbuf_split*() [part 2]
  merge-tree: do not use strbuf_split*()
  notes: do not use strbuf_split*()
  config: do not use strbuf_split()
  environment: do not use strbuf_split*()
  sub-process: do not use strbuf_split*()

 builtin/clean.c      | 74 +++++++++++++++++++++-----------------------
 builtin/merge-tree.c | 30 +++++++++---------
 builtin/notes.c      | 23 +++++++-------
 config.c             | 23 ++++++--------
 environment.c        | 19 +++++++-----
 sub-process.c        | 16 +++++-----
 wt-status.c          | 31 ++++++-------------
 7 files changed, 103 insertions(+), 113 deletions(-)

-- 
2.50.1-612-g4756c59422