I keep reading the phrase “Git isn’t better than Subversion, it’s just different”.
I’m sure a few years ago people said “SVN isn’t better than CVS, it’s just different”.
Anyway, here’s one key aspect that shows how primitive svn is:
Subversion doesn’t actually have tags or branches. It only has folders.
tags directories you see in most svn repositories are not special. They’re just a naming convention.
After you “tag” a release (basically copy the
trunk folder into a new folder in
tags), you can modify it at will and Subversion won’t complain.
Compare with Git or Mercurial, where a tag is a read-only pointer to a specific changeset.
The same with branches: in svn you create an entire copy of the trunk folder, while in git you just create a pointer which advances as you make revisions.