Subject: Re: [PATCHv3 3/4] git-status: show short sequencer state

From: Phil Hord <[email-masked]>
Date: Wed, 14 Nov 2012 08:44:32 -0500

Junio C Hamano wrote:
> Phil Hord <[email-masked]> writes:
>
>>> Do you think '--tree-state' is an acceptable switch or do you have other
>>> suggestions?
>> I've been calling these 'tokens' myself.  A token is a word-or-phrase I
>> can parse easily with the default $IFS, for simpler script handling.
> That name may be good for variables, but it is good only because you
> as the implementor know what purpose the tokens are used for.
> Instead of having to call them with a longer name, e.g. "state
> tokens", only because you know that these tokens represent tree-wide
> (as opposed to per-file) state, you can call them "tokens" in your
> implementation (and in your head) without confusing yourself.
>
> To the end users who should not care about the implementation
> detail, it is not a good name at all.  The UI should surface the
> purpose, i.e. what these tokens are used for, (e.g. to represent
> tree-wide state) more than the fact that you happened to represent
> them with a single short word (i.e. "token").
>
> So --show-tree-state, --include-tree-state-in-the-output or
> something along that line that tells the user what the option is
> about is more preferable than --token.  After all, you may want to
> use tokens to represent different kind of information in a later
> topic that is not about a tree-wide state, and you will regret that
> you used --token for this particular feature at that time.

I don't think I would regret it at all.  I do not expect to conflate the
word "tokens" with the meaning "show-tree-state".  It only has this
meaning because it is part 'git status'.  If I want to show a different
kind of tokens in the future, I think "--tokens" would still work fine
there.  It would even have precedent.

Consider the usage:

  git status   # show work-tree status
  git status --short  # show short work-tree status
  git status --tokens  # show work-tree status in token form

In the future if someone adds a similar operation to another command,I
do not think it would be confusing if it had a similar result. 

  git log --tokens
  git show-ref --tokens HEAD

But maybe "--tokens" has some better meaning that someone will want to
use in the future.  I'm not married to it.  But "git status" already
means "Show the working tree status".  So "git status --show-tree-state"
sounds redundant or meaningless.

'git status' already recognizes switches --ignored and --branch, for
example, to add extra state information to the output.  I want to add
"tree-state tokens" to the list.  But I don't know a better name for them.

Perhaps "--show-tree-state" is sufficient.  Still sounds redundant to me.

Phil