Re: git: b1f7154cb125 - main - gitignore: ignore vim swap files & .rej/.orig

From: Kristof Provost <>
Date: Fri, 11 Feb 2022 14:50:39 UTC
On 11 Feb 2022, at 15:38, Drew Gallatin wrote:
> The problem seems to be that all of these solutions are processed 
> *FIRST*,
> before a .gitignore in the repo, so they cannot be used to negate a
> gitignore rule in the repo.  Eg:
The man page claims this:

     When deciding whether
     to ignore a path, Git normally checks gitignore patterns from 
     sources, with the following order of precedence, from highest to 
     (within one level of precedence, the last matching pattern decides 

And then lists command line, .gitignore file in the same directory as 
the path, or in any parent directory, GIT_DIR/info/exclude and 

So it’s does check them in the order you’d expect, but apparently 
does not let GIT_DIR/info/exclude overrule .gitignore. That’s a bit 
unfortunate. I’d really have expected a ‘!*.orig’ in 
GIT_DIR/info/exclude to overrule the .gitignore, but I’ve also tested 
it and it doesn’t.

> This makes a stronger case that those who want to ignore .orig and 
> .rej
> files can add them to *their* local .gitignore, and we should back 
> them out
> of the .gitignore for the project.
I don’t really like it (for the usual reasons: .orig & friends should 
pretty much never get checked in, so .gitignore is appropriate. Your 
workflow is a bit unusual, so ideally you’d do the special thing.), 
but yeah, it looks like we should indeed remove them from .gitignore in 
the repo.