diff options
Diffstat (limited to 'list-objects-filter.h')
-rw-r--r-- | list-objects-filter.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/list-objects-filter.h b/list-objects-filter.h index a6f6b49..1d45a4a 100644 --- a/list-objects-filter.h +++ b/list-objects-filter.h @@ -4,6 +4,7 @@ struct list_objects_filter_options; struct object; struct oidset; +struct repository; /* * During list-object traversal we allow certain objects to be @@ -24,6 +25,11 @@ struct oidset; * In general, objects should only be shown once, but * this result DOES NOT imply that we mark it SEEN. * + * _SKIP_TREE : Used in LOFS_BEGIN_TREE situation - indicates that + * the tree's children should not be iterated over. This + * is used as an optimization when all children will + * definitely be ignored. + * * Most of the time, you want the combination (_MARK_SEEN | _DO_SHOW) * but they can be used independently, such as when sparse-checkout * pattern matching is being applied. @@ -45,6 +51,7 @@ enum list_objects_filter_result { LOFR_ZERO = 0, LOFR_MARK_SEEN = 1<<0, LOFR_DO_SHOW = 1<<1, + LOFR_SKIP_TREE = 1<<2, }; enum list_objects_filter_situation { @@ -54,6 +61,7 @@ enum list_objects_filter_situation { }; typedef enum list_objects_filter_result (*filter_object_fn)( + struct repository *r, enum list_objects_filter_situation filter_situation, struct object *obj, const char *pathname, |