diff options
author | Matthew DeVore <matvore@google.com> | 2019-01-09 05:59:13 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-01-16 02:39:34 +0300 |
commit | c813a7c35f44f4bf435c6ecb21bf4b9ec8f227de (patch) | |
tree | effc06673ec10419f1e7472af384465bd0abfa86 /list-objects-filter-options.h | |
parent | 0aa9d8aa6ce429f0fa04e1ca819ed766c211e242 (diff) |
list-objects-filter: teach tree:# how to handle >0
Implement positive values for <depth> in the tree:<depth> filter. The
exact semantics are described in Documentation/rev-list-options.txt.
The long-term goal at the end of this is to allow a partial clone to
eagerly fetch an entire directory of files by fetching a tree and
specifying <depth>=1. This, for instance, would make a build operation
fast and convenient. It is fast because the partial clone does not need
to fetch each file individually, and convenient because the user does
not need to supply a sparse-checkout specification.
Another way of considering this feature is as a way to reduce
round-trips, since the client can get any number of levels of
directories in a single request, rather than wait for each level of tree
objects to come back, whose entries are used to construct a new request.
Signed-off-by: Matthew DeVore <matvore@google.com>
Reviewed-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'list-objects-filter-options.h')
-rw-r--r-- | list-objects-filter-options.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/list-objects-filter-options.h b/list-objects-filter-options.h index af64e5c66f..477cd97029 100644 --- a/list-objects-filter-options.h +++ b/list-objects-filter-options.h @@ -10,7 +10,7 @@ enum list_objects_filter_choice { LOFC_DISABLED = 0, LOFC_BLOB_NONE, LOFC_BLOB_LIMIT, - LOFC_TREE_NONE, + LOFC_TREE_DEPTH, LOFC_SPARSE_OID, LOFC_SPARSE_PATH, LOFC__COUNT /* must be last */ @@ -44,6 +44,7 @@ struct list_objects_filter_options { struct object_id *sparse_oid_value; char *sparse_path_value; unsigned long blob_limit_value; + unsigned long tree_exclude_depth; }; /* Normalized command line arguments */ |