DRCS For Content Creation
I love distributed revision control systems (DRCS). Git, Mercurial, Bazaar... fantastic things. And I use DRCS's all the time for code. They have a lot of benefits over centralized models.
Unfortunately, they are not quite so nice for content creation. And there are two main reasons for this:
- Media files are often large. A whole project of media files is typically huge. And a bunch of revisions of a project of media files is enormous. And that enormity takes a freakin' huge time to transfer over a network. All of the DRCS's that I am aware of force you to get a copy of the entire repo (excepting for Git, but the result of a partial clone is a repo that can't push/pull). This is pretty much a deal breaker.
- Changes to media files cannot be merged. In a distributed system this is particularly problematic. Most RCS's that are used for media (e.g. Perforce) have locking systems to prevent more than one person from editing a file at the same time, which prevents conflicts. This is not possible with DRCS's due to their nature, which makes the ability to merge changes critical.