3 ms·
I think the central point here is "completeness must be sacrificed whenever implementation simplicity is jeopardized". Indeed, sometimes omitting a feature whi
by mjw1007 7y ago
I think the central point here is "completeness must be sacrificed whenever implementation simplicity is jeopardized".
Indeed, sometimes omitting a feature which really ought to be there makes life easier for the end user, not just the implementor, even though the user has a good reason to want the feature.
For example, Subversion allows versioning empty directories while Git (like CVS) doesn't.
On the face of it this is just a deficiency in git, but the fallout from Subversion doing the Right Thing is quite extensive: because Subversion treats directories as first-class objects rather than just part of a file's name, you can get a Subversion repo into all kinds of strange and confusing states.
With git the user is never going to be confused by the result of something like "I deleted the directory then tried to merge a branch which added a file inside it".