On Tue, Sep 04, 2012 at 08:06:12PM +0700, Nguyen Thai Ngoc Duy wrote:
> On Sun, Sep 2, 2012 at 7:12 AM, Adam Spiers <[email protected]> wrote:
> > --- a/builtin/add.c
> > +++ b/builtin/add.c
> > @@ -273,7 +273,7 @@ static int add_files(struct dir_struct *dir, int flags)
> > fprintf(stderr, _(ignore_error));
> > for (i = 0; i < dir->ignored_nr; i++)
> > fprintf(stderr, "%s\n", dir->ignored[i]->name);
> > - fprintf(stderr, _("Use -f if you really want to add
> > them.\n"));
> > + fprintf(stderr, _("Use -f if you really want to add them,
> > or git check-ignore to see\nwhy they're ignored.\n"));
> > die(_("no files added"));
> > }
>
> String too long (> 80 chars).
You mean the line of code is too long, or the argument to _(), or
both? I didn't like this either, but I saw that builtin/checkout.c
already did something similar twice, and I wasn't sure how else to do
it. Suggestions gratefully received.
> > +static const char * const check_ignore_usage[] = {
> > +"git check-ignore pathname...",
> > +"git check-ignore --stdin [-z] < <list-of-paths>",
> > +NULL
> > +};
> > +
> > +static const struct option check_ignore_options[] = {
> > + OPT_BOOLEAN(0 , "stdin", &stdin_paths, "read file names from
> > stdin"),
> > + OPT_BOOLEAN('z', NULL, &null_term_line,
> > + "input paths are terminated by a null character"),
> > + OPT_END()
> > +};
>
> You may want to mark help strings ("read file names from stdin" and
> "input paths... null character") and check_ignore_usage[] for
> translation. Just wrap those strings with N_() and you'll be fine. For
> similar changes, check out nd/i18n-parseopt-help on branch 'pu'.
Thanks, I'll do that.
[snipped discussion of "include" / "exclude" which already continued elsewhere]
> > +static void check_ignore(const char *prefix, const char **pathspec)
> > +{
> > + struct dir_struct dir;
> > + const char *path;
> > + char *seen = NULL;
> > +
> > + /* read_cache() is only necessary so we can watch out for
> > submodules. */
> > + if (read_cache() < 0)
> > + die(_("index file corrupt"));
> > +
> > + memset(&dir, 0, sizeof(dir));
> > + dir.flags |= DIR_COLLECT_IGNORED;
> > + setup_standard_excludes(&dir);
>
> You should support ignore rules from files and command line arguments
> too, like ls-files. For quick testing.
You mean --exclude, --exclude-from, and --exclude-per-directory?
Sure, although I have limited time right now, so maybe these could be
added in a later iteration?
> > +static NORETURN void error_with_usage(const char *msg)
> > +{
> > + error("%s", msg);
> > + usage_with_options(check_ignore_usage, check_ignore_options);
> > +}
>
> Interesting. We have usage_msg_opt() in parse-options.c, but it's more
> verbose. Perhaps this function should be moved to parse-options.c
> because it may be useful to other commands as well?
I'll look into it.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html