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

Re: [PATCH v2] Add --exclude to git-clean.

From
Jared Hance <jaredhance@gmail.com>
Date
Jul 19, 2010, 18:22 UTC
Message-ID
<20100719182233.GA4713@localhost.localdomain>
In-Reply-To
<7vbpa3pdtc.fsf@alter.siamese.dyndns.org>
On Mon, Jul 19, 2010 at 10:43:43AM -0700, Junio C Hamano wrote:
> this both look wrong.  They do not tell the readers that the option takes
> a mandatory argument that specifies the "exceptions".  Worse yet,
Sorry about that. I will get that fixed.
Show 20 quoted lines
> > +	Specify special exceptions to not be cleaned. Separate with colon.
> 
> this does not tell _how_ exceptions are specified.
> 
> What should each element on the list look like?
> 
> Is it a dot-suffix without dot (e.g. "html") or with dot (e.g. ".html")?
> Or is it a glob (e.g. "*.html")?  Or is it a full path relative to the
> worktree root (e.g. "Documentation/index.html")?
> 
> Using colon as an inter-element separator makes sense only if last one is
> true (i.e. "concrete path, not glob nor suffix"), so an intelligent reader
> could probably guess what you meant, but you shouldn't make readers guess
> in the first place.
> 
> If on the other hand you wanted to allow specifying the same kind of
> patterns used in the gitignore files from the command line:
> 
>  (1) A list separated with whitespace would be more natural, not a colon;
>      and

It is a global (like in the .gitignore file). I will change it to whitespace. At first, I was worried about files with whitespace, and a colon seemed to fit it better (since files don't have colons).

On the other hand, can you think of any character that would fit both a glob and a strict filename (as it allows both)? I had trouble figuring out what to use here.

Show 6 quoted lines
>  (2) I have to wonder why do we give such a command line exclude override
>      to begin with.
> 
>      (2-a) wouldn't it be easier for the user to add such a local
>            configuration to $GIT_DIR/info/exclude once and be done with
>            it?

As I said earlier, its generally useful for files you are only going to have for a few minutes and you don't want to have the clutter up $GIT_DIR/info/exclude with them (since they probably won't ever return).

>      (2-b) if command-line override has benefit, why is it limited to only
>            _exclude_ and not include (iow, additional ignore patterns)?

"git clean && git rm <INCLUDES>" has the same effect as including in the clean.

Previous: Junio C HamanoNext: Jared Hance
Message 6 of 16 in “Add --exclude to git-clean.j”
  1. Add --exclude to git-clean.jJared Hance, Jul 19, 2010
  2. Jonathan NiederJul 19, 2010
  3. Jared HanceJul 19, 2010
  4. Add --exclude to git-clean.Jared Hance, Jul 19, 2010
  5. Junio C HamanoJul 19, 2010
  6. Jared HanceJul 19, 2010
  7. Add --exclude to git-clean.Jared Hance, Jul 19, 2010
  8. 0/2 Add -e/--exclude to git clean.Jared Hance, Jul 20, 2010
  9. 1/2 Add --exclude to git-clean.Jared Hance, Jul 20, 2010
  10. 2/2 Add test for git clean -e.Jared Hance, Jul 20, 2010
  11. Aaron CraneJul 20, 2010
  12. Jared HanceJul 20, 2010
  13. Junio C HamanoJul 20, 2010
  14. Junio C HamanoJul 20, 2010
  15. Jared HanceJul 20, 2010
  16. Louis StrousSep 23, 2010

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.