Are there any version control systems out there that are particularly good (or bad) at dealing with large files? Nothing too crazy, but from several hundred megabytes to a gigabyte, let's say.
We currently have subversion in place, but there are some mutterings about it not being ideal for this purpose. I'm not a developer myself, and I don't know how objective they are being, so I thought I'd do a quick community survey for extra info.
I'm interested in the behaviour or suitability of these VCS solutions from a systems point of view as well as the user point of view.
TIA.
You'll find that they are very much of a muchness when it comes to binary files.
The mutterings you have heard are most likely originating from the notion that version controlling binaries is a little bit at odds with the power of version control. Binary files can't be diffed or merged, so they are treated as dumb copies. The whole file is replaced on every small change.
This isn't to say that you can't version control binary files or indeed that it isn't useful for you to do so. If you have the requirement to roll-back a file to the version that you committed yesterday. In which case it has served a use to you.
Although you might find a storage solution with snapshots serves you better and more efficiently.
It sounds like Boar would satisfy your requirements. It is version control for large binary files such as videos or pictures.
Another option made for multimedia and creative workflows is AlienBrain which is now owned by Avid. It's used by a lot of game studio's to version control the game assets and code.
http://www.alienbrain.com/
It may not be the best solution though if you're not dealing with media assets.
The vast majority of those having to deal with loads of binary files (e.g. games) tend to use perforce, sometimes with a layer over it.
git-annex "allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, whether due to limitations in memory, time, or disk space."
Adobe offers Version Cue CS4, which was made for multimedia projects. You might want to check that out.
I believe Bazaar handles binary files quite well this seems to be documented here (4.1). I suppose this depends on if you want to spend money or not though as the documentation does state there are better tools out there (it doesn't name them however).
The Wikipedia page for Subversion also states that it supports binary files although I don't have personal experience of this so can't comment on how well it works.
If, and it's a big if, you're using Autodesk software (Maya, Autocad, Inventor, etc... ) Then there's Autodesk Vault.
I recently discovered this at work. It's not free, but it is seemingly the only VCS that works on Autodesk media asset files.
However, it's only really suitable for tracking changes in files it can inspect, so drawing files it's fine with, but not possible for 'rendered assets'.
I'd probably go with git.
An entirely lateral method is to use the union filesystem AUFS which is used by Docker to allow users to create diffs against entire filesystem nodes and publish them. They talk about it on their blog.
This isn't version control with all of the tools of git but it does allow one to add and modify files in a large tree with no real size limit.
This would be a very robust solution just for the media files but I don't think it gives granular control so it would be best for projects where the need is similar to Docker's.