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

[PATCH 5/5] ref-filter: use REF_ITERATOR_SEEK_SET_PREFIX instead of '1'

From
Karthik Nayak <karthik.188@gmail.com>
Date
Jul 24, 2025, 08:14 UTC
Message-ID
<20250724-kn-small-cleanups-v1-5-0c70f591de3e@gmail.com>
In-Reply-To
<20250724-kn-small-cleanups-v1-0-0c70f591de3e@gmail.com>

In the commit 51511d68f4 (for-each-ref: introduce a '--start-after' option, 2025-07-15), for introducing the '--start-after' flag, the `ref_iterator_seek()` was modified to also accept a flag. This was to allow the function to also set the prefix when 'REF_ITERATOR_SEEK_SET_PREFIX' was set.

In `do_filter_refs()` instead of passing the flag, we pass in '1' which is the value of the flag. While this works, this is definitely hard to read and introduces inconsistency. Change it to use the flag.

While here, remove the unnecessary 'if (prefix)' clause in the 'else' statement, since the block already checks for 'prefix'.

Reported-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
---
 ref-filter.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/ref-filter.c b/ref-filter.c
index d5a146de87..4edf0df4cc 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -3254,8 +3254,9 @@ static int do_filter_refs(struct ref_filter *filter, unsigned int type, each_ref
 
 		if (filter->start_after)
 			ret = start_ref_iterator_after(iter, filter->start_after);
-		else if (prefix)
-			ret = ref_iterator_seek(iter, prefix, 1);
+		else
+			ret = ref_iterator_seek(iter, prefix,
+						REF_ITERATOR_SEEK_SET_PREFIX);
 
 		if (!ret)
 			ret = do_for_each_ref_iterator(iter, fn, cb_data);
-- 
2.49.0
Previous: Karthik NayakNext: Junio C Hamano
Message 14 of 22 in “ref-filter: small cleanups and fixes”
  1. 0/5 ref-filter: small cleanups and fixesKarthik Nayak, Jul 24, 2025
  2. 1/5 ref-cache: use 'size_t' instead of int for lengthKarthik Nayak, Jul 24, 2025
  3. Junio C HamanoJul 24, 2025
  4. 2/5 for-each-ref: fix documentation argument orderingKarthik Nayak, Jul 24, 2025
  5. Junio C HamanoJul 24, 2025
  6. Karthik NayakJul 24, 2025
  7. Junio C HamanoJul 24, 2025
  8. Karthik NayakJul 28, 2025
  9. Patrick SteinhardtJul 25, 2025
  10. Karthik NayakJul 28, 2025
  11. 3/5 for-each-ref: reword the documentation for '--start-after'Karthik Nayak, Jul 24, 2025
  12. Patrick SteinhardtJul 25, 2025
  13. 4/5 t6302: add test combining '--start-after' with '--exclude'Karthik Nayak, Jul 24, 2025
  14. 5/5 ref-filter: use REF_ITERATOR_SEEK_SET_PREFIX instead of '1'Karthik Nayak, Jul 24, 2025
  15. Junio C HamanoJul 24, 2025
  16. 0/5 ref-filter: small cleanups and fixesKarthik Nayak, Jul 28, 2025
  17. 1/5 ref-cache: use 'size_t' instead of int for lengthKarthik Nayak, Jul 28, 2025
  18. 2/5 for-each-ref: fix documentation argument orderingKarthik Nayak, Jul 28, 2025
  19. 3/5 for-each-ref: reword the documentation for '--start-after'Karthik Nayak, Jul 28, 2025
  20. 4/5 t6302: add test combining '--start-after' with '--exclude'Karthik Nayak, Jul 28, 2025
  21. 5/5 ref-filter: use REF_ITERATOR_SEEK_SET_PREFIX instead of '1'Karthik Nayak, Jul 28, 2025
  22. Patrick SteinhardtJul 29, 2025

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.