• N
    parse_pathspec: add special flag for max_depth feature · 6330a171
    Nguyễn Thái Ngọc Duy 提交于
    match_pathspec_depth() and tree_entry_interesting() check max_depth
    field in order to support "git grep --max-depth". The feature
    activation is tied to "recursive" field, which led to some unwanted
    activation, e.g. 5c8eeb83 (diff-index: enable recursive pathspec
    matching in unpack_trees - 2012-01-15).
    
    This patch decouples the activation from "recursive" field, puts it in
    "magic" field instead. This makes sure that only "git grep" can
    activate this feature. And because parse_pathspec knows when the
    feature is not used, it does not need to sort pathspec (required for
    max_depth to work correctly). A small win for non-grep cases.
    
    Even though a new magic flag is introduced, no magic syntax is. The
    magic can be only enabled by parse_pathspec() caller. We might someday
    want to support ":(maxdepth:10)src." It all depends on actual use
    cases.
    
    max_depth feature cannot be enabled via init_pathspec() anymore. But
    that's ok because init_pathspec() is on its way to /dev/null.
    Signed-off-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    6330a171
tree-walk.c 17.8 KB