3 ms·
You mean it actually makes sense if you forget the other VCS versions of that command, and know git's? Because ignoring all VCS experience I have, "checkout" wo
by phaylon 16y ago
You mean it actually makes sense if you forget the other VCS versions of that command, and know git's? Because ignoring all VCS experience I have, "checkout" would indicate to me that I could "check something out" as in "have a peek at it."
- Xurinos 16y agoIn git, it means "checking out the current branch version of a file" or "checking out an entire branch". Pulling all the patches from another resource also makes sense. Think of checkout as a local thing to do, and pull/fetch as a remote action. It can make sense if you do not have prior associations. It is not as if the English language is not terribly abused and ambiguous in our languages. What does "cancel" mean? In linux with CUPS, it cancels a print job. To cancel a process, you have to kill it, but you cannot kill print jobs. Shocking. What is OOP? How does that definition change between C++, Java, Smalltalk, Lisp/CLOS, and vimscript? How about MVC? What about the differences in GUI lingo between Object Windows, McClim, Gtk, and qt? In other words, you have to learn the language of each different tool you use, and it is unreasonable to expect that it is the same as your other tools. Aside from that, it is terribly unfair to try to compare svn to git in any meaningful architectural sense; they are completely different creatures that accomplish some of the same goals. git does it better. And it uses different language to describe its new approach. I have not had a difficult time switching between using svn and git after using both for a long time, except for missing nice features like "git log -p" and "git add -p" when I work with svn. It seems petty to me to quibble over command names.
- phaylon 16y ago"What does "cancel" mean? In linux with CUPS, it cancels a print job. To cancel a process, you have to kill it, but you cannot kill print jobs. Shocking." Those are different projects. Git is one. OO is an abstract concept, we're talking about git communicating to the user, and what level the user must have to understand that communication. The problem is not that git and svn have different opinions on what "checkout" means, it's that git itself has different opinions on what it should mean. Again, why is it so bad that we say the interface could be better? Why do so many of those that managed to get a grip on this feel the need to strictly deny that there could be any problem in the interface itself? Yes, Linus designed it. But he's just human too. I still have yet to see a single useful advantage of mixing up different meanings in the same word. All I get is "It is that way, learn it or GTFO."
- pyre 16y agoWhen you 'checkout' something from the library, you are not 'having a peek at it' in the 'Hey! Come check this out!' usage of the word. Words can have multiple meanings depending on context. 'git checkout' has no context, so you can't just assume what the author meant when the command was named as such.
- phaylon 16y agoI know, and having multiple meanings for a single word that's used as a technical command without visible content is not a good idea. That's what I'm saying
- pyre 16y ago> without visible content There is a manual... You don't blame a drill press company just because someone thought it was a good idea to use their drill press to pierce their nose, do you? What's the point of providing people with documentation, if you are going to rail on the product for not being 'so easy' that people don't need to read the documentation?
- phaylon 16y agoThis is about catching mistakes. No manual will help you there. Documentation doesn't even come into the mix.