mirror of
https://github.com/git-for-windows/git.git
synced 2026-05-02 17:14:01 -05:00
Merge branch 'tb/refs-exclusion-and-packed-refs' into next
Enumerating refs in the packed-refs file, while excluding refs that match certain patterns, has been optimized. * tb/refs-exclusion-and-packed-refs: ls-refs.c: avoid enumerating hidden refs where possible upload-pack.c: avoid enumerating hidden refs where possible builtin/receive-pack.c: avoid enumerating hidden references refs.h: implement `hidden_refs_to_excludes()` refs.h: let `for_each_namespaced_ref()` take excluded patterns revision.h: store hidden refs in a `strvec` refs/packed-backend.c: add trace2 counters for jump list refs/packed-backend.c: implement jump lists to avoid excluded pattern(s) refs/packed-backend.c: refactor `find_reference_location()` refs: plumb `exclude_patterns` argument throughout builtin/for-each-ref.c: add `--exclude` option ref-filter.c: parameterize match functions over patterns ref-filter: add `ref_filter_clear()` ref-filter: clear reachable list pointers after freeing ref-filter.h: provide `REF_FILTER_INIT` refs.c: rename `ref_filter`
This commit is contained in:
@@ -229,11 +229,12 @@ static struct ref_iterator_vtable debug_ref_iterator_vtable = {
|
||||
|
||||
static struct ref_iterator *
|
||||
debug_ref_iterator_begin(struct ref_store *ref_store, const char *prefix,
|
||||
unsigned int flags)
|
||||
const char **exclude_patterns, unsigned int flags)
|
||||
{
|
||||
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
||||
struct ref_iterator *res =
|
||||
drefs->refs->be->iterator_begin(drefs->refs, prefix, flags);
|
||||
drefs->refs->be->iterator_begin(drefs->refs, prefix,
|
||||
exclude_patterns, flags);
|
||||
struct debug_ref_iterator *diter = xcalloc(1, sizeof(*diter));
|
||||
base_ref_iterator_init(&diter->base, &debug_ref_iterator_vtable, 1);
|
||||
diter->iter = res;
|
||||
|
||||
Reference in New Issue
Block a user