Re: [PATCH 15/19] pathspec: add match_pathspec_depth()
- From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
- Date
- Dec 14, 2010, 05:07 UTC
- Message-ID
- <AANLkTikmkr8aSH_tmRJJajHSvw81YHQtJsZ4RqNd+Hx=@mail.gmail.com>
- In-Reply-To
- <7vzks9zd3f.fsf@alter.siamese.dyndns.org>
2010/12/14 Junio C Hamano <gitster@pobox.com>:
Show 11 quoted lines
> Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes: > >> match_pathspec_depth() is similar to match_pathspec() except that it >> can take depth limit. >> >> In long term, match_pathspec() should be removed in favor of this >> function. > > Hmm, this strongly suggests that match_pathspec() should take "const > struct pathspec *" which already contains the necessary information and > more, including the depth limit, no?
Good idea. Thanks!
Show 16 quoted lines
>> +int match_pathspec_depth(const char **pathspec, int max_depth,
>> + const char *name, int namelen,
>> + int prefix, char *seen)
>> +{
>> + int i, retval = 0;
>> +
>> + if (!pathspec) {
>> + if (max_depth == -1)
>> + return MATCHED_RECURSIVELY;
>> +
>> + if (within_depth(name, namelen, 0, max_depth))
>> + return MATCHED_EXACTLY;
>
> Why the difference between _RECURSIVELY and _EXACTLY here? If you have a
> five-level deep project and give max-depth of 1000, shouldn't you get the
> same result as you run the same command with unlimited depth?But if max-depth is 5 and the project is 1000-level deep, it should return _EXACTLY, not _RECURSIVELY, right?
-- Duy