Re: [PATCH 09/45] parse_pathspec: a special flag for max_depth feature
On Sun, Jun 9, 2013 at 2:25 AM, Nguyễn Thái Ngọc Duy <pclouds@gmail.com> wrote:
> parse_pathspec: a special flag for max_depth feature
Show 21 quoted lines
> 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. 5c8eeb8 (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: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>