git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: ls-files --exclude broken?

From
Daniel Johnson <computerdruid@gmail.com>
Date
Sep 15, 2010, 23:31 UTC
Message-ID
<201009151931.23482.ComputerDruid@gmail.com>
In-Reply-To
<AANLkTimuTHvA+qjqpmz=VkCpTTiRA7imb5+ZyTVmPwYy@mail.gmail.com>
On Wednesday 15 September 2010 18:40:20 Jay Soffian wrote:
Show 9 quoted lines
> Am I missing something really obvious here?
> kore:~/Repos/git (master)$ git ls-files | wc -l
>     2009
> kore:~/Repos/git (master)$ git ls-files -x \* | wc -l
>     2009
> kore:~/Repos/git (master)$ git ls-files -i -x \* | wc -l
>     2009
> kore:~/Repos/git (master)$ git version
> git version 1.7.3.rc1.5.g95127

For fun, I bisected this. This behavior changed in the following commit. Before this, it worked as you expected. The other replies seem to explain this more.

b5227d80aee5173bfda6aa43a890d03110b0df26 is the first bad commit
commit b5227d80aee5173bfda6aa43a890d03110b0df26
Author: Jeff King <peff@peff.net>
Date:   Mon Oct 12 01:11:57 2009 -0400
    ls-files: excludes should not impact tracked files
    
    In all parts of git, .gitignore and other exclude files
    impact only how we treat untracked files; they should have
    no effect on files listed in the index.
    
    This behavior was originally implemented very early on in
    9ff768e, but only for --exclude-from. Later, commit 63d285c
    accidentally caused us to trigger the behavior for
    --exclude-per-directory.
    
    This patch totally ignores excludes for files found in the
    index. This means we are reversing the original intent of
    9ff768e, while at the same time fixing the accidental
    behavior of 63d285c. This is a good thing, though, as the
    way that 9ff768e behaved does not really make sense with the
    way exclusions are used in modern git.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Previous: Kevin BallardNext: Jay Soffian
Message 13 of 17 in “ls-files --exclude broken?”
  1. Jay SoffianSep 15, 2010
  2. Nguyen Thai Ngoc DuySep 15, 2010
  3. Junio C HamanoSep 15, 2010
  4. Jay SoffianSep 15, 2010
  5. Nguyen Thai Ngoc DuySep 15, 2010
  6. Jay SoffianSep 15, 2010
  7. Jay SoffianSep 15, 2010
  8. Jeff KingSep 16, 2010
  9. Jay SoffianSep 16, 2010
  10. Jeff KingSep 16, 2010
  11. Elijah NewrenSep 15, 2010
  12. Kevin BallardSep 15, 2010
  13. Daniel JohnsonSep 15, 2010
  14. git-ls-files.txt: clarify -x/--exclude optionJay Soffian, Sep 15, 2010
  15. Jeff KingSep 16, 2010
  16. Junio C HamanoSep 16, 2010
  17. Jeff KingSep 16, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.