Taylor Blau <me@xxxxxxxxxxxx> writes: > This function was used in the ref-filter.c code to find the longest > common prefix of among a set of refspecs, and then to iterate all of the > references that descend from that prefix. > > A future patch will want to use that same code from ls-refs.c, so > prepare by exposing and moving it to refs.c. Since there is nothing > specific to the ref-filter code here (other than that it was previously > the only caller of this function), this really belongs in the more > generic refs.h header. > > The code moved in this patch is identical before and after, with the one > exception of renaming some arguments to be consistent with other > functions exposed in refs.h. > > Signed-off-by: Taylor Blau <me@xxxxxxxxxxxx> > --- > ref-filter.c | 74 ++------------------------------------------ > refs.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > refs.h | 9 ++++++ > 3 files changed, 98 insertions(+), 72 deletions(-) It is amusing that even to a change that is supposedly "expose existing functionality by moving code around" and nothing else, we can introduce new glitches. > diff --git a/refs.c b/refs.c > index 13dc2c3291..0b5a68588f 100644 > --- a/refs.c > +++ b/refs.c > ... > + for_each_string_list_item(prefix, &prefixes) { > + strbuf_addf(&buf, "%s", prefix->string); strbuf_addstr(&buf, prefix->string); Caught by https://github.com/git/git/runs/1752536671?check_suite_focus=true#step:4:63 I'll apply the fix suggested by Coccinelle on my end, so there is no need to send an updated version just for this one. Thanks.