I am seeing an incorrect behaviour of reversion with django-cms, that I thought came from my code but with a fresh virtualenv on reversion 1.6.5 and django-cms 2.3.5 I still get the issue:
Page saves create not one but two versions in the reversion data of the page. The spurious version is saved immediately after the one that contains user name and change note, and has empty strings for these attributes.
Logging the code, I see that the same call to function reversion.revisions.call() triggers the two saves, the first, more correct, one on:
return func(*args, **kwargs)
and the second one on:
self.__exit__(None, None, None)
To reproduce the bug, create a new page, save it, and click on the History link you will already see two revisions instead of one.
I confirmed the issue starting from an empty django-cms on these versions:
(django-pure)[lalsina@localhost myproject]$ python --version
(django-pure)[lalsina@localhost myproject]$ pip freeze
adds a new settings and keeps the DB small for reversions