threads / discuss / 26658

Behavior of git ls-files

Subject: Behavior of git ls-files

## tl;dr

2 messages between Mar 4, 2011 and Mar 5, 2011.

replies: 1people: 2as markdown or json

Steffen Jaeckel· Mar 4, 2011, 17:38 UTC · lore
Hi,

I want to list all files in a repository that are tracked, but shall be ignored when following the patterns in .gitignore I tried to do this by "git ls-files --exclude-standard -i" but it seems as if it doesn't properly handle directory entries in .gitignore

The following example shall reproduce this issue:
Show 9 quoted lines
> $ mkdir test
> $ cd test
> $ git init
> $ mkdir testdir
> $ touch testdir/test
> $ git add testdir/test
> $ git commit -m "add test"
> $ echo "testdir/" > .gitignore
> $ git ls-files --exclude-standard -i
Is the behavior of git ls-files correct or not?

Thanks, Steffen

Clemens Buchacher· Mar 5, 2011, 08:47 UTC · re: Steffen Jaeckel · lore

Re: Behavior of git ls-files

On Fri, Mar 04, 2011 at 06:38:31PM +0100, Steffen Jaeckel wrote:
> 
> Is the behavior of git ls-files correct or not?

Indeed, the behavior is not correct. It does not find any files which are excluded only due to a directory exclude.

In the cases without -i we do not even have to look at files under an ignored directory. So the matching rules are not applied correctly in this case.

We have the same problem with git ls-files -i -o, unless you also specify --directory (in which case, again, we do not need to look at files under the ignored directory).

Clemens

← back to recent threads