threads / discuss / 47037

Discrepancy between git-check-ignore and git-status for negated pattern

Subject: Discrepancy between git-check-ignore and git-status for negated pattern

## tl;dr

One message between Oct 26, 2017 and Oct 26, 2017.

replies: 0people: 1as markdown or json

Guido Flohr· Oct 26, 2017, 18:40 UTC · lore
This .gitignore file does not work as expected with git-check-ignore:
    *.o
    !a.o
It seems that “git check-ignore a.o” ignores that “a.o” was re-included.  This is what happens:
    $ git --version
    git version 2.15.0.rc2.48.g4e40fb302
    $ mkdir repo
    $ cd repo
    $ git init
    Initialized empty Git repository in /path/to/repo/.git/
    $ echo '*.o' >.gitignore
    $ echo '!a.o' >>.gitignore
    $ >a.o
    $ >b.o
    $ git check-ignore a.o b.o
    a.o
    b.o
    $ git status --short
    ?? a.o
According to git-check-ignore, “a.o” is ignored.  According to git-status, it is not.
Is that a bug or did I miss something because of my limited search capabilities?
Tested on a Mac with current master from git.  The 2.13.4 binary from Mac Ports exhibits the same behavior. 
Thanks!

← back to recent threads