Re: git status --ignored
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