Interesting. We have a massive versioning system in
http://Clara.io but what we do is we store everything and we have a front end DB that tracks versions, thus accessing a file from S3 is a redirect through another identifier. This allows us to have multiple concurrent versions all accessible without relying upon S3 features. We also cache the hell out of S3 because we find it slow.