There are now several places in the codebase where we setup for using the reversion library that could be made more resilient against future changes by introducing a custom context manager. The boilerplate looks like:
with reversion.create_revision(): reversion.add_meta(RevisionMetadata) reversion.set_user(user) if comment is not None: reversion.set_comment(comment) # Model create/update logic goes here
Something like this would be nicer:
with reversion_context(user, comment): # Model create/update logic goes here