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

Re: git status --ignored

From
Jeff King <peff@peff.net>
Date
Jun 2, 2011, 05:54 UTC
Message-ID
<20110602055449.GA28292@sigill.intra.peff.net>
In-Reply-To
<7vr57cerxo.fsf@alter.siamese.dyndns.org>
On Wed, Jun 01, 2011 at 10:13:55PM -0700, Junio C Hamano wrote:
Show 18 quoted lines
> Andrew Spiers <aspiers@vpac.org> writes:
> 
> > This looks like a bug in git 1.7.4.1.
> >
> > git status --ignored does not show my ignored files and
> > directories. git status -h suggests it should.
> > git status --ignored -h does show my ignored files and directories.
> 
> Does not reproduce for me. With --ignored (with or without -s), I see all
> the dot-o files that are ignored by .gitignore rules that are usually
> omitted from status output without --ignored.
> 
>   $ make >/dev/null 2>&1
>   $ rungit v1.7.3 status | grep -F git.o
>   $ rungit v1.7.3 status --ignored | grep -F git.o
>   #       git.o
>   $ rungit v1.7.3 status -s --ignored | grep -F git.o
>   !! git.o

I can reproduce here. The faulty logic means the bug only shows when you actually have no real untracked files. You should keep your git directory cleaner. ;)

-- >8 --
Subject: [PATCH] status: fix bug with missing --ignore files

Commit 1b908b6 (wt-status: rename and restructure status-print-untracked, 2010-04-10) converted the wt_status_print_untracked function into wt_status_print_other, taking a string_list of either untracked or ignored items to print. However, the "nothing to show" early return still checked the wt_status->untracked list instead of the passed-in list.

That meant that if we had ignored items to show, but no untracked items, we would erroneously exit early and fail to show the ignored items.

Signed-off-by: Jeff King <peff@peff.net>
---
 wt-status.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/wt-status.c b/wt-status.c
index 9f4e0ba..0237772 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -642,7 +642,7 @@ static void wt_status_print_other(struct wt_status *s,
 	int i;
 	struct strbuf buf = STRBUF_INIT;
 
-	if (!s->untracked.nr)
+	if (!l->nr)
 		return;
 
 	wt_status_print_other_header(s, what, how);
-- 
1.7.6.rc0.34.gc8c48c.dirty
Previous: Junio C HamanoNext: Jeff King
Message 3 of 7 in “git status --ignored”
  1. Andrew SpiersJun 2, 2011
  2. Junio C HamanoJun 2, 2011
  3. Jeff KingJun 2, 2011
  4. Jeff KingJun 2, 2011
  5. Junio C HamanoJun 2, 2011
  6. Jeff KingJun 2, 2011
  7. Junio C HamanoJun 2, 2011

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.