From: Junio C Hamano Date: Thu, 27 Dec 2012 05:08:19 GMT Subject: Re: [PATCH v2] wt-status: Show ignored files in untracked dirs Message-ID: <7va9t0m69o.fsf@alter.siamese.dyndns.org> In-Reply-To: <20121227034859.GA20817@sigill.intra.peff.net> Jeff King writes: > IOW, given: > > git init > mkdir untracked ignored > >untracked/file > >ignored/file > echo ignored >.git/info/exclude > > I would expect: > > $ git status --short --ignored --untracked=normal > ?? untracked/ > !! ignored/ Sensible. > $ git status --short --ignored --untracked=all > ?? untracked/file > !! ignored/file Again sensible; OK, --untracked=all is what I was missing. > I do not know if anybody cares about the distinction, but optionally we > could give --ignored its own selector, like: > > $ git status --short --ignored=all --untracked=normal > ?? untracked/ > !! ignored/file > > where obviously it would default to "none" (whereas untracked defaults > to "normal"). We could just say the selector for the ignored implicitly follows what is given for --untracked, if we don't care. > But the behavior with Antoine's patch is: > > $ git status --short --ignored --untracked=normal > ?? untracked/ > !! ignored > > $ git status --short --ignored --untracked=all > ?? untracked/file > !! ignored > > which seems wrong to me for two reasons: > > 1. It does not recurse for ignored but untracked entries. Neither does > the current code, but I think it should. > > 2. It loses the trailing slash from the ignored directory in both > cases (which is printed by the current code). Nicely analysed. Perhaps we would want new test pieces to define the behaviour we want to see first?