Git seems extremely over complicated for no reason, half of the features seem to exist because the system is so easy to mess up.
Supporting remote-use CVS for a distributed multi-team development group was pure hell, and regularly had me going to lunch while waiting for simple command to finish. I'm glad git's features exist.