On Wed, 15 Nov 2006, Linus Torvalds wrote: > > > On Wed, 15 Nov 2006, Nicolas Pitre wrote: > > > > I think "fetch" is sane. Its only problem is a missing symetrical > > counterpart verb, like "get" and "put". > > If you're a dog owner, the obvious counterpart for "fetch" is "throw" ;) Yeah. You could always throw a branch to your dog. Or maybe we should introduce the concept of "bones" to GIT in place of branches? ;-) > I think "get" and "put" would be bad, just because of confusion with > "sccs get" (ie it has that "get this file" connotations). Has SCCS really had a similar level of influence than BK or CVS in that matter? > Maybe "fetch" and "push" aren't totally diametrically opposite, but > really, I don't think they are that hard to understand either. We do have > the BK legacy of "pull" implying a merge, and that's fairly fundamental. > > It's also true that in a lot of usage schenarios, what people actually > _use_ is "pull" and "push", and no, they aren't mirror images (since push > will _not_ do the merge), but at the same time, from a _usage_ standpoint > they really _are_ each others opposites. The problem is the "usage standpoint" distinction that has to be made. Exactly because in GIT it is a bit distorted from what most people expect from other standpoints. > You "pull" to get other peoples data into your branch (and once you've > internalized local branches and the merge thing, you know what this > means), and you "push" to push your changes out. It really _is_ the usage > schenario, and using "opposite" words really _does_ make sense. But that's exactly why newbies have problems. Instead of simply understanding the bare operation (fetch data in a branch _then_ merge it) they sort of need to abstract the concept of branch away because a "pull" does it all automagically. Which is fine as long as you're willing to ignore branch concepts altogether. But once branches are back in the picture for more involved operations then the "pull" word simply feels odd. Even more so with the local merge syntax. When I say to someone "just merge branch weezee with your current branch" the most intuitive command would be: git merge weezee But because "pull" mixes two concepts together this makes the thing more esoteric. Unless, of course, you get used to the mental model you outlined above, but IMHO simply needing a mental model to explain the tool is a sign that something is mapped wrong. Nicolas - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html