threads / bug / 44051

Git Ignore Exception bug

Subject: Git Ignore Exception bug

## tl;dr

2 messages between Sep 9, 2016 and Sep 14, 2016.

replies: 1people: 2as markdown or json

Nathan Williams· Sep 9, 2016, 21:39 UTC · lore
it ignore doesn't seem to be working properly when adding exceptions.
Environment:
Mac, running latest El Capitan (10.11.6)

% git --version git version 2.9.0

-----------cut here------------- #!/bin/sh TEMP=mktemp

# Create a temporary repo mkdir repo cd repo

git init

echo "foo/*" >> .gitignore echo "!foo/bar" >> .gitignore git add .gitignore git commit -m "Ignore file with exceptions"

# Create the directory structure mkdir foo mkdir foo/bar

# Create files to be ignored touch foo/1 touch foo/2

# Create files that should be identified touch foo/bar/a touch foo/bar/b

# Should ignore foo and indicate that all the files in foo/bar are un-committed git status

# Move back to the regular directory cd .. -----------cut here-------------

Expected results
% git st
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        foo/bar/
Nate
Dennis Kaarsemaker· Sep 14, 2016, 11:26 UTC · re: Nathan Williams · lore

Re: Git Ignore Exception bug

On vr, 2016-09-09 at 15:39 -0600, Nathan Williams wrote:
> it ignore doesn't seem to be working properly when adding exceptions.
>8 -- snip testcase
Show 7 quoted lines
> Expected results
> % git st
> On branch master
> Untracked files:
>   (use "git add <file>..." to include in what will be committed)
> 
>         foo/bar/

That expectation is wrong, it should show foo/. And indeed it does (tested with 2.9.0 and 2.10.0-rc1)

$ sh -x testscript
+ rm -rf repo
+ mkdir repo
+ cd repo
+ git init
Initialized empty Git repository in /home/dennis/code/git/repo/.git/
+ echo foo/*
+ echo !foo/bar
+ git add .gitignore
+ git commit -m Ignore file with exceptions
[master (root-commit) 7e1b82a] Ignore file with exceptions
 1 file changed, 2 insertions(+)
 create mode 100644 .gitignore
+ mkdir foo
+ mkdir foo/bar
+ touch foo/1
+ touch foo/2
+ touch foo/bar/a
+ touch foo/bar/b
+ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	foo/
nothing added to commit but untracked files present (use "git add" to track)
-- 
Dennis Kaarsemaker
http://www.kaarsemaker.net

← back to recent threads