Re: [PATCH v1 23/45] check-ignore: convert to use parse_pathspec
- From
Adam Spiers <git@adamspiers.org>
- Date
- Apr 14, 2013, 23:25 UTC
- Message-ID
- <20130414232542.GB21564@indian.linksys.moosehall>
- In-Reply-To
- <CACsJy8Au4KL7msPr62bvSgGdseWFF=cUJSuB2JzGUXehDD6hng@mail.gmail.com>
On Sat, Apr 13, 2013 at 09:09:33AM +1000, Duy Nguyen wrote:
Show 29 quoted lines
> On Sat, Apr 13, 2013 at 1:03 AM, Adam Spiers <git@adamspiers.org> wrote:
> >> -static int check_ignore(const char *prefix, const char **pathspec)
> >> +static int check_ignore(int argc, const char **argv, const char *prefix)
> >> {
> >> struct dir_struct dir;
> >> - const char *path, *full_path;
> >> char *seen;
> >> int num_ignored = 0, dtype = DT_UNKNOWN, i;
> >> struct path_exclude_check check;
> >> struct exclude *exclude;
> >> + struct pathspec pathspec;
> >>
> >> /* read_cache() is only necessary so we can watch out for submodules. */
> >> if (read_cache() < 0)
> >> @@ -70,31 +70,39 @@ static int check_ignore(const char *prefix, const char **pathspec)
> >> dir.flags |= DIR_COLLECT_IGNORED;
> >> setup_standard_excludes(&dir);
> >>
> >> - if (!pathspec || !*pathspec) {
> >> + if (!argc) {
> >
> > Is there a compelling reason for introducing argc as a new parameter
> > to check_ignore(), other than simplifying the above line? And why
> > rename the pathspec parameter to argv? Both these changes are
> > misleading AFAICS, since paths provided to check_ignore() can come
> > from sources other than CLI arguments (i.e. via --stdin).
>
> Because I introduced "struct pathspec pathspec;" I need to rename the
> argument "pathspec" to something else.Ah, I see - that makes sense :-)
> Maybe we could rename the argument to "paths"?
Sounds fine to me.
> > The introduction of argc also makes it possible to invoke > > check_ignore() with arguments which are not self-consistent. > > This is the same problem with main()
How could main() be invoked with argc inconsistent with argv?
> and other places that follow this convention. But I don't mind > dropping argc either.
What is the reason for that convention? I'm willing to be persuaded either way.