Re: Command-line interface thoughts
- From
- Holger Hellmuth <hellmuth@ira.uka.de>
- Date
- Jun 10, 2011, 18:07 UTC
- Message-ID
- <4DF25D50.5020107@ira.uka.de>
- In-Reply-To
- <201106101844.16146.jnareb@gmail.com>
On 10.06.2011 18:44, Jakub Narebski wrote:
Show 10 quoted lines
> On Thu, 9 Jun 2011, Holger Hellmuth wrote: >> Also there are no good words for what someone wants to see in this case. >> At least I would assume the git project would have found them if they >> existed. '--cached' is definitely not one of them. But we have fitting >> and widely known names for the targets, i.e 'working tree', 'index' and >> 'head'. > > "I want to see if there are any remiaining changes", "I want to see what > 'git commit' would bring", "I want to see what 'git commit -a' would bring". > Neither of those is about targets for diff.
Are you proposing a command "git --I-want-to-see-if-there-are-any-remaining-changes" ? ;-). I was looking for short command or parameter names that are easy to remember, not for definitions of the output of cryptic commands.
But lets see. If I didn't know much git, where would I look for the right command for your three needs? Where would I expect the solution? (note I'm not proposing any of these commands)
"I want to see if there are any remiaining changes"? git status git status --full git status --detailed
"I want to see what 'git commit' would bring" git commit --dry-run
"I want to see what 'git commit -a' would bring" git commit -a --dry-run
Now I'll add a question I would want to ask: "I want to see the changes between what I have in my working tree and what I already added to the index" git diff WTREE INDEX
Btw. even the 'git diff' man page emphasizes that diff is about a comparision between two things. Citation: "Show changes *between* two trees, a tree and the working tree, a tree and the index file,...".
Show 13 quoted lines
> [...] >>> The "git diff NEXT WTREE" looks like training wheels to me. And like >>> training wheels they could become obstacles and not help to learning >>> git. Neverthemind they can snag on sharp corners^W corner-cases. ;-))) >> >> If your goal is that anyone who uses git is a git expert, they may be a >> hindrance (as are all the porcelain commands really). If you also want >> to make git friendly to people who will never get past intermediate or >> beginner stage or will only use a small part of git or use git seldomly, >> training wheels are good. > > Those "training wheels" are useless for beginner, and might be not very > useful to middle expert user either, depending on corner cases.
"useless for beginner". No reasoning, just a fat road block for my opinion? As git expert you are so far removed from any beginner status. Are you sure you still know how a beginner thinks?
Holger.