Re: git-stash: RFC: Adopt the default behavior to other commands
- From
Andreas Ericsson <ae@op5.se>
- Date
- Dec 18, 2007, 16:06 UTC
- Message-ID
- <4767EFFA.1070909@op5.se>
- In-Reply-To
- <m3lk7sovt0.fsf@roke.D-201>
Jakub Narebski wrote:
Show 37 quoted lines
> Andreas Ericsson <ae@op5.se> writes: >> 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"? >
git commit has a very safe default; It runs "git status" and exits.
Show 7 quoted lines
> 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. >
Perhaps. I'll stop quibbling about it. I don't care very deeply about it anyway.
> "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. >
git stash takes a name too. It's optional though, and has caused any number of source lines to be rewritten by grumbling authors who just started to like git a little less because of it (yes, I know that has been fixed, but it makes me look twice when discussing defaults for git stash).
-- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231