]> git.ipfire.org Git - thirdparty/git.git/commitdiff
ref-filter: use REF_ITERATOR_SEEK_SET_PREFIX instead of '1'
authorKarthik Nayak <karthik.188@gmail.com>
Mon, 28 Jul 2025 20:20:50 +0000 (22:20 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 28 Jul 2025 21:16:38 +0000 (14:16 -0700)
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
ref-filter.c

index c8a6b7f1aff4709869c308ac8dc6758c713013df..62ffdcdcad74537828221378b51d2995b8c7e978 100644 (file)
@@ -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);