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:
@ -10,6 +10,7 @@
|
||||
#include "decorate.h"
|
||||
#include "ident.h"
|
||||
#include "list-objects-filter-options.h"
|
||||
#include "strvec.h"
|
||||
|
||||
/**
|
||||
* The revision walking API offers functions to build a list of revisions
|
||||
@ -95,7 +96,7 @@ struct ref_exclusions {
|
||||
* Hidden refs is a list of patterns that is to be hidden via
|
||||
* `ref_is_hidden()`.
|
||||
*/
|
||||
struct string_list hidden_refs;
|
||||
struct strvec hidden_refs;
|
||||
|
||||
/*
|
||||
* Indicates whether hidden refs have been configured. This is to
|
||||
@ -110,7 +111,7 @@ struct ref_exclusions {
|
||||
*/
|
||||
#define REF_EXCLUSIONS_INIT { \
|
||||
.excluded_refs = STRING_LIST_INIT_DUP, \
|
||||
.hidden_refs = STRING_LIST_INIT_DUP, \
|
||||
.hidden_refs = STRVEC_INIT, \
|
||||
}
|
||||
|
||||
struct oidset;
|
||||
|
Reference in New Issue
Block a user