3 ms·
(Author here.) Let me begin by saying that this post is intended to be historical. If you've ever wondered why "git checkout" both switches branches and restore
by dfabulich 9y ago
(Author here.) Let me begin by saying that this post is intended to be historical. If you've ever wondered why "git checkout" both switches branches and restores working-tree files, or if you've ever wondered why "git reset" both rewrites history and unstages hunks, this post has the answer.
History is about people making decisions. It wouldn't make sense to write about the history of nations without naming any names, and I think it wouldn't make sense here, either.
Second, while I am critical of these historical decisions, I don't purport to be better than Hamano. There's a whole section of this post saying that "you or I might have done the same thing" for the same reasons.
I especially don't accept your charge that this is "ad hominem." I don't argue that you should agree with me because who Hamano is. I don't (and wouldn't) call Hamano any names, call doubt on his character, or even question his intelligence or competence.
Everyone should evaluate these historical decisions on their own merits. But anyone who wants to understand why git works the way it does must understand that these are Hamano's decisions, and decide for themselves whether these decisions were good or bad.
EDIT: A number of comments here have said that the complaint has to do with the number of times I mention Hamano's name, so I've updated the post to remedy this.
- Nacraile 9y agoI think parent took their criticism a bit far with "ad-hominem and smug", but the calling out of a specific individual makes me uncomfortable also. The issue, I think, is that the specific name doesn't really add anything to the discussion: you don't actually contact Hamano and get his perspective, and you don't use the name to link any additional relevant information. You could omit the name entirely without detracting from what you're trying to say. Including the name makes the (public!) criticism needlessly personal. Not really cool.
- michael_storm 9y agoThanks for updating your post. > History is about people making decisions. It wouldn't make sense to write about the history of nations without naming any names, and I think it wouldn't make sense here, either. Historians usually do quite a bit more research, including talking to participants. Much more context would be required before zeroing in on one person and saying it's his fault. Was there discussion beforehand? Why has no one changed it thus far? All you did was post to a noisy mailing list from which you expected no reply, then assumed that it was solely the committer's decision. > I don't (and wouldn't) call Hamano any names, call doubt on his character, or even question his intelligence or competence. But that's done implicitly when you tie his reputation up so thoroughly with choices that you wrote an entire essay disparaging. The damage is magnified when he's not given a real opportunity to explain himself. Although you stated in another comment you've now emailed him directly, which is a good call.
- dfabulich 9y agoHamano replied pointing me to this thread. https://public-inbox.org/git/Pine.LNX.4.64.0510171814430.3369@g5.osdl.org/#t https://public-inbox.org/git/Pine.LNX.4.64.0510171814430.336... Linus proposed adding the feature to git-checkout, subsuming git-checkout-index. Junio expressed concern about file/branch ambiguity; Linus wrote back, "Yes, I know it's ambigious at times, but it really is very convenient. Usually we allow a "--" to say where a filename starts when it is ambiguous." I think a separate command would have been convenient, too. ¯\_(ツ)_/¯
- michael_storm 9y agoGood to know. I hope that your essay will be updated to reflect that.