FWIW, this is the video that was cited by Chris Wanstrath (of GitHub) as what got him into Git (on, I believe, his episode of the Changelog Show - http://changelogshow.com/105/2274-episode-0-1-0-chris-wanstr...). It was a video that caught my attention at the time too, but I didn't get on the Git train for at least a year or two after.. sheepish look
This classic essay always makes me chuckle. Especially when svn branching or mergeinfo goes awry
"If Version Control Systems were Airlines"
CVS:
"Watch out for layovers, though. It can take hours to merge new passengers into the formation properly, and it might take several attempts to take off afterwards."
SVN:
"At checkin time at the gate, if more than one person arrives with a copy of the same ticket, they are ushered into the “merging room” and each person is given a brick. The door is closed, something magical occurs, and the one person that emerges still able to walk is allowed to board the plane."
We have used long time (2001) ago CVS as repository for one of our games (NHL2K2), and one of the programmers used a specific way of commenting his code. One day, that form of commenting messed up somehow the diff information the .CVS - it was easy to fix (we manually fixed the problem, it was some kind of +, - that got wrong, or something like that).
Once we moved to P4 it was a relief, and still is. And nothing stops you from using P4 with git/mercurial or others.
P4 is great, but sometimes I need to submit more than one changelists (set of files) with the same file, but different bugfixes.
Summary: Linus hates CVS and, by extension, SVN. Talks about the importance of distributed development and pains of the centralized model. You can work offline. On centralized, trivial decisions can't be taken because they pollute the central repository and leads to bad practices. Creating branches is not the main issue, merging FAST is. Git performs/scales well, 22K files on the Linux kernel repo, about 4 merges a day for 2 years since being tracked with Git. Mercurial is good, but Git is better. Git uses SHA-1 hashes for the full history, brings security against attacks and RAM/disk corruption.