Re: "git ls-files -i" does not shows ignored files on Windows
- From
Sitaram Chamarty <sitaramc@gmail.com>
- Date
- May 27, 2009, 03:37 UTC
- Message-ID
- <slrnh1pdc6.ojl.sitaramc@sitaramc.homelinux.net>
- In-Reply-To
- <85647ef50905261036u2d3c00c9lcf0df8f29de051ef@mail.gmail.com>
On 2009-05-26, Constantine Plotnikov <constantine.plotnikov@gmail.com> wrote:
Show 17 quoted lines
> I have encountered a strange problem on Windows (cygwin git 1.6.1.2 > and msys git version 1.6.2.2.1669.g7eaf8). > > Lets execute the following sequence of commands: > > git init > echo a >.gitignore > echo test >a > git ls-files -i --exclude-standard > > The last command in the sequence gives an empty output. But "git > status" and "git ls-files -o --exclude-standard" show only > ".gitignore" file as untracked. So the file "a" is considered as > ignored by git, but it is not displayed in output "git ls-files -i > --exclude-standard". > > Does the bug happen on other platforms and versions of git?
here's what works, after I used your 4 commands on an empty directory. Numbers in parens added for the purpose of this email, the rest is a straight paste:
$ git ls-files -i --exclude-standard -o (1)
a
$ git ls-files -o (2)
.gitignore
a
$ git add a
The following paths are ignored by one of your .gitignore
files:
a
Use -f if you really want to add them.
fatal: no files added
$ git add -f a
$ git ls-files -i --exclude-standard (3)
a
$(1) your "a" is untracked right now, so ls-files seems to consider it part of "other" files.
(2) and indeed, using just "-o" does show the file
(3) and when you forcibly add it, then you can see it with your original command.
Yes, I agree it doesn't make too much sense. I have long had the following aliases in my gitconfig:
ls-del = ls-files -d
ls-mod = ls-files -m # this will include deleted files also
ls-new = ls-files --exclude-standard -o
ls-ign = ls-files --exclude-standard -o -iHTH and all that,
Sitaram