Not that I know of, and as you know, large binary files aren't compatible with:
- VCS (since there is no sense in diff'ing them or merging them)
- DVCS (where a distributed repo is meant to be cloned, which is quickly cumbersome with an obese repo)
The only remaining solution (OS agnostic actually) remains an external artifact repository (like a Nexus one for instance) to store those binaries.
The OP Anthony Mastrean adds that he needs to:
version control my system deployment bits: OS images, drivers, 3rd party installers, 1st party installers (our applications).
I need to have everything in a coherent bundle (tags). And be able to get the entire bundle for any of our active releases
That would be mixing:
- development requirements (versioning, meaning branching and comparing versions)
- with deployment requirements (getting all the right labels in order to deploy and run)
Anything which isn't developed (i.e anything built or already existing) should be out of a VCS (except for very small resources, like icons for instance, which don't change much).
What you usually version is a "release file" which contains all the extra information (checksums, path to other referentials, ...) for the deployment script to operate, fetching the right artifacts.