There are a lot of [version control][1] systems available, including open-source ones such as [Subversion][2], [Git][3], and [Mercurial][4], plus commercial ones such as [Perforce][5]. 

How well do they support the process of game-development? What are the issues using VCS, with regard to non-text files (binary files), large projects, et cetera? What are solutions to these problems, if any?

For organization of answers, let's try on a per-package basis. Update each package/answer with your results.

Also, please list some brief details in your answer, about whether your VCS is free or commercial, distributed versus centralized, etc.

*Update*: Found a nice article comparing two of the VCS below - apparently, [Git is MacGyver and Mercurial is Bond][6]. Well, I'm glad that's settled... And the author has a nice quote at the end:

> It’s OK to proselytize to those who
> have not switched to a distributed VCS
> yet, but trying to convert a Git user
> to Mercurial (or vice-versa) is a
> waste of everyone’s time and energy. 

Especially since [Git and Mercurial's real enemy is Subversion][7]. Dang, it's a *code-eat-code* world out there in FOSS-land...


 [1]: http://en.wikipedia.org/wiki/Version_control
 [2]: http://subversion.apache.org/
 [3]: http://git-scm.com/
 [4]: http://mercurial.selenic.com/
 [5]: http://www.perforce.com/
 [6]: http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/
 [7]: http://blog.bitquabit.com/2010/02/10/fightings-been-fun-and-all-its-time-shut-and-get-along/