Re: Cleaning up git user-interface warts
From: Junio C Hamano <hidden>
Date: 2016-08-11 20:35:55
Andy Parkins [off-list ref] writes:
quoted
But trying to rename "pull" (or the "git" name itself) is just going to cause more confusion than you fix.I don't think so. Mainly because the proposed new git pull would be a subset of the existing git pull. It's not changing function, it's just reducing in function.
We usually use the word "regression" to refer to that kind of change. I think it makes a lot of sense having command x that does essentially the same thing as the current fetch but with more usability enhancements and more convention as built-in defaults, and another command y that does what the current 'pull .' does but with more usability enhancements and more convention as built-in defaults. I agree that kind of UI improvements would make it easier to explain to new people. Calling x "pull", however, breaks the existing users and documents, and causes confusion. I really do not think you can argue with that. That's why we are talking about using an uncontaminated word "get". I think it is a good effort.
quoted
aren't that complicated. There's no reason to rename them. We do have other problems:That there are other problems doesn't negate these problems.
And I think Linus is right in pointing out that there are other problems that are equally or even more pressing than _renaming_ to break things for existing users. I personally do not think the current fetch/pull confusing, and I do see real downside in _renaming_ them, but I am open to the current get/put discussion because I think the new commands' semantics may be designed to match newcomers' expectation better (it's to match tools to newcomers instead of teaching them the new language of the land) and I do not think that approach would break existing users and documents. For some things "matching tools to newcomers" would not really work, though. For example, I do not think you can get away with hiding index forever if you want your users to do real work in a workflow that involves merging and cherry picking.