summaryrefslogtreecommitdiff
path: root/list-objects-filter-options.h
diff options
context:
space:
mode:
authorMatthew DeVore <matvore@google.com>2019-01-09 02:59:13 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-01-15 23:39:34 (GMT)
commitc813a7c35f44f4bf435c6ecb21bf4b9ec8f227de (patch)
treeeffc06673ec10419f1e7472af384465bd0abfa86 /list-objects-filter-options.h
parent0aa9d8aa6ce429f0fa04e1ca819ed766c211e242 (diff)
downloadgit-c813a7c35f44f4bf435c6ecb21bf4b9ec8f227de.zip
git-c813a7c35f44f4bf435c6ecb21bf4b9ec8f227de.tar.gz
git-c813a7c35f44f4bf435c6ecb21bf4b9ec8f227de.tar.bz2
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.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/list-objects-filter-options.h b/list-objects-filter-options.h
index af64e5c..477cd97 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 */