Git 2.7.0 gitignore behaviour regression
- From
- Mike McQuaid <mike@mikemcquaid.com>
- Date
- Jan 5, 2016, 14:40 UTC
- Message-ID
- <4B0F686D-3DF9-4E5D-971D-DB106C6573FD@mikemcquaid.com>
Hi folks,
Firstly, thanks for all your hard work on Git. It makes my life much easier.
Homebrew has a series of convoluted .gitignore rules due to our special/weird use-case of wanting to ignore everything in a working directory except a select few files/directories. We experienced a bug with our .gitignore file for users using Git 2.7.0. This may well be a valid WONTFIX or intentional behaviour change but I wanted to flag it in case it wasn’t.
Here’s a minimal test case:
- Create an empty git repository in a directory with `git init` - Create a directory named ‘a' containing a file named ‘b' with `mkdir a && touch a/b` - Create a ‘gitignore’ file with the following contents: ``` */ /a !/a/* ``` - Run `git status --short`.
The output with Git 2.6.4 is: ``` ?? .gitignore ```
The output with Git 2.7.0 is: ``` ?? .gitignore ?? a/ ```
Another minimal test case:
- Create an empty git repository in a directory with `git init` - Create a directory named ‘a' containing a file named ‘b' with `mkdir a && touch a/b` - Create a ‘gitignore’ file with the following contents: ``` */ /a !/a/ ``` - Run `git status —short`.
The output with Git 2.6.4 is: ``` ?? .gitignore ?? a/ ```
The output with Git 2.7.0 is: ``` ?? .gitignore ```
Let me know if you need any more information, thanks!
Mike McQuaid http://mikemcquaid.com