3 ms·
In other words, Git's abstraction is leaky No, it means you're using the wrong abstraction. As you change your codebase, files are modified. To the untrained
by tow21 16y ago
In other words, Git's abstraction is leaky
No, it means you're using the wrong abstraction.
As you change your codebase, files are modified. To the untrained eye, it looks like this a simple linear progression of history, and you just want to record savepoints as you go along. CVS lets you pretend this is the case.
Actually, that's not the case at all. What you actually want to record is the changes you're making, and the relations between them. In the vanishingly small edge case where you never have any collaborators, never any experimental code, you never need to backtrack, you never need to work on more than one portion of the code at a time - this is isomorphous.
The rest of the time, it's not. CVS & SVN try to stretch the first abstraction to take care of these differences, but fail.
git makes you face up to the fact that your abstractions are wrong.
- moe 16y agoNo, it means you're using the wrong abstraction. It seems a large number of users prefers to work at a different level of abstraction than git requires. git makes you face up to the fact that your abstractions are wrong. Strangely mercurial tackles the exact same abstractions, yet has a much friendlier user-interface. The standard-rebuttal at this point will be "Fine, use mercurial then". I wonder if, at some point, more users will start doing that than the git-community would like. I, for one, am certainly tempted, but have so far held out due to the switching cost and because hg is, of course, not without flaws either. However, I don't think this "If it hurts then you're doing it wrong"-attitude can be healthy for git in the longterm. A bad user-interface remains a bad user-interface, no matter how you spin it. The big problem I see is not even with git currently having this bad user-interface, but rather with the widespread reluctance in git-circles to even think about ways to improve it.