The autocommit and autocomment is copy and pasted throughout the codebase.
Abstract out the code into a AssetVersion method so that it can be encapsulated, tested and easier to maintain.