Re: Command-line interface thoughts (ad-hominem attacks)
From: Michael Nahas <hidden>
Date: 2016-06-15 22:51:26
On Wed, Jun 8, 2011 at 8:42 AM, Jakub Narebski [off-list ref] wrote:
On Wed, Jun 8, 2011, Michael Nahas wrote:quoted
On Wed, Jun 8, 2011 at 7:12 AM, Jakub Narebski [off-list ref] wrote:quoted
quoted
I don't quite think that we need "git diff NEXT WTREE"; the short and sweet "git diff" is short for a reason,To be clear, I'm not advocating and have never advocated getting rid of zero-argument "git diff". I've advocated that every (whole project) diff command should be expressible by a "git diff TREE1 TREE2". I'm fine with defaults if one or zero trees are specified.Those pseudo-almost-refs (almost-tree-ish) are to help new users, isn't it? But shouldn't new user learn that he/she should use "git diff" to review his changes, rather than use "git diff NEXT WTREE" to compare staged contents with working area?
I think we need a new term that refers to NEXT, WTREE, and commits. It could be "snapshots", but that is closely associated with commit and has a feeling of being read-only. Maybe "root-tree"? I think most users - new or ortherwise - should use "git diff". It's the shorter command. I think a man page saying "git diff" is equivalent to "git diff NEXT WTREE" is (1) very specific as to what the command does and (2) illuminates new users to the concepts, so that when they see "git diff HEAD NEXT" or "git diff HEAD WTREE", they can imagine what is going on.
quoted
So "git diff" would default to "git diff NEXT WTREE".You mean that "git diff NEXT WTREE" output be the same as "git diff", except for corner cases (merge conflict), isn't it?
I've addressed the conflict case already. NEXT should contain HEAD plus all the resolved files. As far as I can tell, with that definition, "git diff NEXT WTREE" "git diff HEAD NEXT" and "git diff HEAD WTREE" would produce the same results as the current implementation of "git diff", "git diff --cached" and "git diff HEAD" --- even in a conflicted state. I've only been able to check that by experimentation; I asked if someone who knew the code could confirm it.
-- Jakub Narebski Poland