Though it might be a lot to write, but just a small case as an example. If you have two different variables initialized on same line number in svn, it is possible that in merging two different branches (not revisions), svn quietly puts them BOTH in the code which doesn't even produce a compile time error and it takes ages to find out the actual cause. I have actually been through this since we used to have a dpi product whose separately developed branches for different target platforms needed to be merged and it was all svn. At best svn would give you manual conflicts to resolve. With git, the number of conflicts to be resolved by hand is far less. For a general list, take a look at http://stackoverflow.com/questions/2471606/how-and-or-why-is...