Microsoft Visual SourceSafe worked like this, but badly.