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>
This commit is contained in:

committed by
Junio C Hamano

parent
0aa9d8aa6c
commit
c813a7c35f
@ -734,8 +734,13 @@ specification contained in <path>.
|
||||
+
|
||||
The form '--filter=tree:<depth>' omits all blobs and trees whose depth
|
||||
from the root tree is >= <depth> (minimum depth if an object is located
|
||||
at multiple depths in the commits traversed). Currently, only <depth>=0
|
||||
is supported, which omits all blobs and trees.
|
||||
at multiple depths in the commits traversed). <depth>=0 will not include
|
||||
any trees or blobs unless included explicitly in the command-line (or
|
||||
standard input when --stdin is used). <depth>=1 will include only the
|
||||
tree and blobs which are referenced directly by a commit reachable from
|
||||
<commit> or an explicitly-given object. <depth>=2 is like <depth>=1
|
||||
while also including trees and blobs one more level removed from an
|
||||
explicitly-given commit or tree.
|
||||
|
||||
--no-filter::
|
||||
Turn off any previous `--filter=` argument.
|
||||
|
Reference in New Issue
Block a user