Re: git-stash: RFC: Adopt the default behavior to other commands
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Dec 18, 2007, 15:40 UTC
- Message-ID
- <m3lk7sovt0.fsf@roke.D-201>
- In-Reply-To
- <4767E717.2060902@op5.se>
Andreas Ericsson <ae@op5.se> writes:
Show 38 quoted lines
> Johannes Schindelin wrote: >> On Tue, 18 Dec 2007, Andreas Ericsson wrote: >>> Johannes Schindelin wrote: >>> >>>> In the alternative, you could just scrap all those default >>>> actions, showing synopses instead. For all commands, including >>>> "git commit", "git log", "git fetch", etc. >>> >>> Like we do for the git wrapper, you mean? Yes, that would be one >>> solution, although not a very good one for all commands. >> >> Exactly. Not a good one. >> >>> It's probably not a bad idea for commands where the primary use is >>> something else than producing visual output though, such as tag or >>> branch, but those handle creation/deletion of stuff, so the default >>> action for them is to list stuff of the kind they operate on. I >>> fail to see why stash should be any different. >> >> I also fail to see why stash should be any different. And that's why >> I expect it to have a default operation, which is -- you guessed it -- >> "stash the changes!" > > Actually, I guessed "list the stashes". > >> If I am not sure what I am about to do, there is -- wonder of wonders -- >> the "-h" option! And indeed: >> $ git stash -h >> Usage: /home/gitte/bin/git-stash [ | save | list | show | >> apply | clear | create ] >> So what exactly was your point again? >> > > My point is that it would be nice if all git commands that actually > manipulate objects (create/delete/modify) had a safe default, and > that experienced users such as yourself could endure the insufferable > agony of retraining your fingers to type five more chars so that > people won't have to get bitten by surprises.
Also for "git commit"?
In my opinion _basic_ usage of git-stash is simply using it with one stash only: "git stash" / "git unstash" (i.e. "git stash apply"; by the way this is one (beside "git view") use case for builtin predefined aliases). Using it with multiple stashes (only then "git stash list" is needed) is advanced usage; and for advanced usage longer form is preferred, I think.
"git branch", "git log" and "git remote" are horse of differenc color because the _cannot_ function without name of branch/tag/remote given, so hey provide "list" when no name was given.
-- Jakub Narebski Poland ShadeHawk on #git