Re: Cleaning up git user-interface warts
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Nov 16, 2006, 23:22 UTC
- Message-ID
- <Pine.LNX.4.64.0611161508530.3349@woody.osdl.org>
- In-Reply-To
- <Pine.LNX.4.63.0611162353250.13772@wbgn013.biozentrum.uni-wuerzburg.de>
On Fri, 17 Nov 2006, Johannes Schindelin wrote:
> > Never ever underestimate pet peeves. If we give many people an obvious > reason (however trivial and bike-shed-coloured) to complain, they will > complain.
I do actually think that this discussion has been informative, partly because I never even realized that some people would ever think to do "init-db" + "pull".
Making things like that work is easy enough, it's just that I never saw any point until people complained. And when they complained, the initial complaint wasn't actually obvious. Only when Han-Wen actually gave something that didn't work, was it clear that the real issue wasn't so much _naming_, as just expectations about the _work_flow_.
> And hopefully you also agree that enhancing the syntax of git-merge to > grok "git-merge [-m message] <branch>" and "git-merge [-m message] > <url-or-remote> <branch>" would be a lovely thing, luring even more > people into using git.
I definitely think we can make "git merge" have a more pleasant syntax. I'm just still not sure that people should actually use it ;)
My real point was/is that usually it's really not the "naming details" that people _really_ have problems with. The real problems tend to be in learning a new workflow.
We can make some of those workflows easier, but I would heartily recommend that people not worry about naming of "pull" vs "fetch", because that's almost certainly not really the issue. Instead, if you have a problem, rather than concentrating on the names of the programs, say:
- what do you want to get done.
Most likely it's _trivial_ to do with git, it's just that somebody used the wrong approach, and then it didn't work at all.
- give actual examples of a workflow that didn't work or was complex.
(again, the "init-db" + "pull" example).
And yes, in many cases, it might well be a case of "sure, we can make that _other_ workflow work too". But somebody like me, who has used git for a year and a half, and used BK before it, probably simply uses a different workflow than somebody who comes from CVS.
For example, I suspect that your gripe with "git fetch" was just from using it in a really awkward manner. Maybe we could make your workflow work with git too, but maybe it really already (and always) did, you just used a particular tool in a way that made the use be really really painful.
Sometimes it's just a question of "ok, use it like _this_, and now it's actually really simple". Other times it's "ok, I didn't even realize that you wanted to use it like _that_, and yeah, that's incredibly inconvenient, and we can change it".
I just got involved in this discussion because I thought people were talking about all the wrong things. Command naming really can't be _that_ big of a deal. I really don't believe that we should have some people use "gh" instead of "git" just because they think "pull" should mean not to merge or something.