On Wed, May 30, 2018 at 11:52:19AM +0900, Junio C Hamano wrote: > Jeff King <p...@peff.net> writes: > > > Right, what I meant by "gentler" is that we continue to perform the same > > behavior as the old version, alongside the warning. It's arguable here > > because running "git branch -l" has _always_ been wrong. It's just wrong > > in a way that happens to do what the user wants. ;) > > ... > >> Anyways, if you think it mustn't turn into an error now and only in the > >> next stage, a suggestion follows in another thread. > > > > I don't think "mustn't", but I have a slight preference for what I > > posted, as I think it is a little friendlier during the transition (at > > the risk of somebody missing the warning, but then step 2 turns it into > > a hard error anyway, so they'll certainly find out then). > > Well, we could keep treating '-l' given in contexts where we have > silently ignored the option and did "list" instead as before during > the transition, until the very end where it becomes an explicit > "list" command, no? Then there is no need to even warn against '-l' > that is ignored because we are listing in the earliest step. The > only usage that requires a warning then becomes '-l' used for its > original meaning to create a reflog, right? That sounds gentler to > me.
So I think you're proposing: - step 0: warn about "-l" when it actually gets used, and otherwise continue ignoring - step 1: turn "-l" into "--list" - step 2: there is no step 2 I can't think of any reason that would work, and it lets us reclaim it for "--list" sooner. I guess "when it gets used" is maybe not the right criterion. We'd warn on: git branch -l foo But we wouldn't on: git branch -d -l foo That's clearly nonsense, but we're probably better off complaining. So I guess the right rule is to warn when we are not in list-mode, and otherwise quietly accept it. That does mean that anybody who misses the deprecation warning may be surprised when "branch -l foo" starts listing instead of creating a branch with a reflog (whereas in the current 3-step plan, we have a period in the middle where that's a hard error). That may be OK, though, and is a natural consequence of getting to the end step sooner (even with a 3-step plan, anybody who skips the versions in the middle _could_ be surprised). -Peff