git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/1] git-clean.txt: specify core.excludesFile variable is used

From
MÅMartin Ågren <martin.agren@gmail.com>
Date
Mar 6, 2019, 20:22 UTC
Message-ID
<CAN0heSqTCQaTgWq4+-dxP0DFjtL=syq_W=T0cb66-2YPB4Tc-w@mail.gmail.com>
In-Reply-To
<f8bc322cc5727d9cf45037f4231f88956f07b7f3.1551868745.git.liu.denton@gmail.com>
On Wed, 6 Mar 2019 at 12:17, Denton Liu <liu.denton@gmail.com> wrote:
>
> In the git-clean documentation, -x and -e documented .gitignore,
> $GIT_DIR/info/excludes but neglected to mention the file pointed to by
> core.excludesFile.
Nit: I suppose it doesn't so much document it, as mention it. So
  In the git-clean documentation, we mention .gitignore and
  $GIT_DIR/info/excludes, but neglect to mention the file pointed to by
  core.excludesFile.
perhaps.
> Explicitly mention that variable so that the list is exhaustive.
Show 8 quoted lines
>  -e <pattern>::
>  --exclude=<pattern>::
> -       In addition to those found in .gitignore (per directory) and
> -       $GIT_DIR/info/exclude, also consider these patterns to be in the
> +       In addition to those found in .gitignore (per directory),
> +       $GIT_DIR/info/exclude, and the `core.excludesFile` variable, also
> +       consider these patterns to be in the
>         set of the ignore rules in effect.

The commit message correctly phrases it as "the file pointed to by", whereas this could give the impression that the config variable is supposed to provide patterns, not a filename. But if the choice is between creating a longer, more language-lawyer-correct phrasing and a shorter one that everyone will understand, I'll choose the latter any day.

But on the topic of preferring shorter, I sort of wonder if we really need to provide all of those filenames here. The point we're trying to make is that we consider another source. So something like this would be just as technically correct, I think:

  Use the given exclude pattern in addition to those found in .gitignore
  and similar files (see linkgit:gitignore[5]).

This also places the interesting (IMHO) part of the sentence at the front, rather than at the end.

From gitignore(5), I get the impression that patterns provided using `--exclude` take precedence over those found in those files we're listing. Whether or not that is the case here might perhaps be more interesting than the exact list of files. Does that make sense?

Show 8 quoted lines
>  -x::
>         Don't use the standard ignore rules read from .gitignore (per
> -       directory) and $GIT_DIR/info/exclude, but do still use the ignore
> +       directory), $GIT_DIR/info/exclude, and the `core.excludesFile`
> +       variable, but do still use the ignore
>         rules given with `-e` options.  This allows removing all untracked
>         files, including build products.  This can be used (possibly in
>         conjunction with 'git reset') to create a pristine
Nit: Not new in this patch, but I think you could add a few `backticks`
while you're here to render things like `.gitignore` and
`$GIT_DIR/info/exclude/` in monospace.
Martin
Previous: Denton LiuNext: Junio C Hamano
Message 3 of 13 in “update git-clean.txt”
  1. 0/1 update git-clean.txtDenton Liu, Mar 6, 2019
  2. 1/1 git-clean.txt: specify core.excludesFile variable is usedDenton Liu, Mar 6, 2019
  3. Martin ÅgrenMar 6, 2019
  4. Junio C HamanoMar 7, 2019
  5. 0/1 make git-clean.txt more preciseDenton Liu, Mar 7, 2019
  6. 1/1 git-clean.txt: clarify ignore pattern filesDenton Liu, Mar 7, 2019
  7. Junio C HamanoMar 7, 2019
  8. Martin ÅgrenMar 7, 2019
  9. Junio C HamanoMar 7, 2019
  10. 0/2 consolidate core.excludesFile docsDenton Liu, Mar 7, 2019
  11. 2/2 Docs: move core.excludesFile from git-add to gitignoreDenton Liu, Mar 7, 2019
  12. Junio C HamanoMar 8, 2019
  13. 1/2 git-clean.txt: clarify ignore pattern filesDenton Liu, Mar 7, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.