Hello community, here is the log from the commit of package python-django-reversion for openSUSE:Factory checked in at 2018-11-08 09:49:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-django-reversion (Old) and /work/SRC/openSUSE:Factory/.python-django-reversion.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-django-reversion" Thu Nov 8 09:49:21 2018 rev:5 rq:646707 version:3.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-django-reversion/python-django-reversion.changes 2018-10-31 13:20:00.463137946 +0100 +++ /work/SRC/openSUSE:Factory/.python-django-reversion.new/python-django-reversion.changes 2018-11-08 09:49:26.113032991 +0100 @@ -1,0 +2,7 @@ +Tue Nov 6 17:12:16 UTC 2018 - Martin Herkt <9+suse@cirno.systems> + +- Update to version 3.0.2: + * Removed squashed migrations, as they subtly messed up the + Django migrations framework + +------------------------------------------------------------------- Old: ---- django-reversion-3.0.1.tar.gz New: ---- django-reversion-3.0.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-django-reversion.spec ++++++ --- /var/tmp/diff_new_pack.1cq9r5/_old 2018-11-08 09:49:27.281031613 +0100 +++ /var/tmp/diff_new_pack.1cq9r5/_new 2018-11-08 09:49:27.285031608 +0100 @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-django-reversion -Version: 3.0.1 +Version: 3.0.2 Release: 0 Summary: A Django extension that provides version control for model instances License: BSD-3-Clause ++++++ django-reversion-3.0.1.tar.gz -> django-reversion-3.0.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-reversion-3.0.1/CHANGELOG.rst new/django-reversion-3.0.2/CHANGELOG.rst --- old/django-reversion-3.0.1/CHANGELOG.rst 2018-10-23 16:29:55.000000000 +0200 +++ new/django-reversion-3.0.2/CHANGELOG.rst 2018-11-05 10:52:13.000000000 +0100 @@ -3,6 +3,12 @@ django-reversion changelog ========================== +3.0.2 - 05/11/2018 +------------------ + +- Removed squashed migrations, as they subtly messed up the Django migrations framework (@etianen). + + 3.0.1 - 23/10/2018 ------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-reversion-3.0.1/PKG-INFO new/django-reversion-3.0.2/PKG-INFO --- old/django-reversion-3.0.1/PKG-INFO 2018-10-23 16:31:16.000000000 +0200 +++ new/django-reversion-3.0.2/PKG-INFO 2018-11-05 10:53:25.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: django-reversion -Version: 3.0.1 +Version: 3.0.2 Summary: An extension to the Django web framework that provides version control for model instances. Home-page: http://github.com/etianen/django-reversion Author: Dave Hall diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-reversion-3.0.1/django_reversion.egg-info/PKG-INFO new/django-reversion-3.0.2/django_reversion.egg-info/PKG-INFO --- old/django-reversion-3.0.1/django_reversion.egg-info/PKG-INFO 2018-10-23 16:31:16.000000000 +0200 +++ new/django-reversion-3.0.2/django_reversion.egg-info/PKG-INFO 2018-11-05 10:53:25.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: django-reversion -Version: 3.0.1 +Version: 3.0.2 Summary: An extension to the Django web framework that provides version control for model instances. Home-page: http://github.com/etianen/django-reversion Author: Dave Hall diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-reversion-3.0.1/django_reversion.egg-info/SOURCES.txt new/django-reversion-3.0.2/django_reversion.egg-info/SOURCES.txt --- old/django-reversion-3.0.1/django_reversion.egg-info/SOURCES.txt 2018-10-23 16:31:16.000000000 +0200 +++ new/django-reversion-3.0.2/django_reversion.egg-info/SOURCES.txt 2018-11-05 10:53:25.000000000 +0100 @@ -83,11 +83,7 @@ reversion/management/commands/__init__.py reversion/management/commands/createinitialrevisions.py reversion/management/commands/deleterevisions.py -reversion/migrations/0001_initial.py reversion/migrations/0001_squashed_0004_auto_20160611_1202.py -reversion/migrations/0002_auto_20141216_1509.py -reversion/migrations/0003_auto_20160601_1600.py -reversion/migrations/0004_auto_20160611_1202.py reversion/migrations/__init__.py reversion/templates/reversion/change_list.html reversion/templates/reversion/object_history.html diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-reversion-3.0.1/reversion/__init__.py new/django-reversion-3.0.2/reversion/__init__.py --- old/django-reversion-3.0.1/reversion/__init__.py 2018-10-23 16:29:55.000000000 +0200 +++ new/django-reversion-3.0.2/reversion/__init__.py 2018-11-05 10:52:13.000000000 +0100 @@ -36,4 +36,4 @@ get_registered_models, ) -__version__ = VERSION = (3, 0, 1) +__version__ = VERSION = (3, 0, 2) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-reversion-3.0.1/reversion/admin.py new/django-reversion-3.0.2/reversion/admin.py --- old/django-reversion-3.0.1/reversion/admin.py 2018-10-23 16:29:55.000000000 +0200 +++ new/django-reversion-3.0.2/reversion/admin.py 2018-11-05 10:52:13.000000000 +0100 @@ -146,9 +146,9 @@ opts = self.model._meta info = opts.app_label, opts.model_name, reversion_urls = [ - url("^recover/$", admin_site.admin_view(self.recoverlist_view), name='%s_%s_recoverlist' % info), - url("^recover/(\d+)/$", admin_site.admin_view(self.recover_view), name='%s_%s_recover' % info), - url("^([^/]+)/history/(\d+)/$", admin_site.admin_view(self.revision_view), name='%s_%s_revision' % info), + url(r"^recover/$", admin_site.admin_view(self.recoverlist_view), name='%s_%s_recoverlist' % info), + url(r"^recover/(\d+)/$", admin_site.admin_view(self.recover_view), name='%s_%s_recover' % info), + url(r"^([^/]+)/history/(\d+)/$", admin_site.admin_view(self.revision_view), name='%s_%s_revision' % info), ] return reversion_urls + urls diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-reversion-3.0.1/reversion/migrations/0001_initial.py new/django-reversion-3.0.2/reversion/migrations/0001_initial.py --- old/django-reversion-3.0.1/reversion/migrations/0001_initial.py 2018-10-23 16:29:55.000000000 +0200 +++ new/django-reversion-3.0.2/reversion/migrations/0001_initial.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import django.db.models.deletion -from django.conf import settings - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('contenttypes', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Revision', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('manager_slug', models.CharField(default='default', max_length=200, db_index=True)), - ('date_created', models.DateTimeField(auto_now_add=True, help_text='The date and time this revision was created.', verbose_name='date created', db_index=True)), - ('comment', models.TextField(help_text='A text comment on this revision.', verbose_name='comment', blank=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, help_text='The user who created this revision.', null=True, verbose_name='user')), - ], - options={ - "ordering": ("-pk",) - }, - bases=(models.Model,), - ), - migrations.CreateModel( - name='Version', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('object_id', models.TextField(help_text='Primary key of the model under version control.')), - ('object_id_int', models.IntegerField(help_text="An indexed, integer version of the stored model's primary key, used for faster lookups.", null=True, db_index=True, blank=True)), - ('format', models.CharField(help_text='The serialization format used by this model.', max_length=255)), - ('serialized_data', models.TextField(help_text='The serialized form of this version of the model.')), - ('object_repr', models.TextField(help_text='A string representation of the object.')), - ('content_type', models.ForeignKey(help_text='Content type of the model under version control.', on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), - ('revision', models.ForeignKey(help_text='The revision that contains this version.', on_delete=django.db.models.deletion.CASCADE, to='reversion.Revision')), - ], - options={ - "ordering": ("-pk",) - }, - bases=(models.Model,), - ), - ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-reversion-3.0.1/reversion/migrations/0001_squashed_0004_auto_20160611_1202.py new/django-reversion-3.0.2/reversion/migrations/0001_squashed_0004_auto_20160611_1202.py --- old/django-reversion-3.0.1/reversion/migrations/0001_squashed_0004_auto_20160611_1202.py 2018-10-23 16:29:55.000000000 +0200 +++ new/django-reversion-3.0.2/reversion/migrations/0001_squashed_0004_auto_20160611_1202.py 2018-11-05 10:52:13.000000000 +0100 @@ -9,8 +9,6 @@ class Migration(migrations.Migration): - replaces = [('reversion', '0001_initial'), ('reversion', '0002_auto_20141216_1509'), ('reversion', '0003_auto_20160601_1600'), ('reversion', '0004_auto_20160611_1202')] - initial = True dependencies = [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-reversion-3.0.1/reversion/migrations/0002_auto_20141216_1509.py new/django-reversion-3.0.2/reversion/migrations/0002_auto_20141216_1509.py --- old/django-reversion-3.0.1/reversion/migrations/0002_auto_20141216_1509.py 2018-10-23 16:29:55.000000000 +0200 +++ new/django-reversion-3.0.2/reversion/migrations/0002_auto_20141216_1509.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('reversion', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='revision', - name='manager_slug', - field=models.CharField(default='default', max_length=191, db_index=True), - ), - ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-reversion-3.0.1/reversion/migrations/0003_auto_20160601_1600.py new/django-reversion-3.0.2/reversion/migrations/0003_auto_20160601_1600.py --- old/django-reversion-3.0.1/reversion/migrations/0003_auto_20160601_1600.py 2018-10-23 16:29:55.000000000 +0200 +++ new/django-reversion-3.0.2/reversion/migrations/0003_auto_20160601_1600.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,108 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.6 on 2016-06-01 16:00 -from __future__ import unicode_literals - -from collections import defaultdict -from django.db import DEFAULT_DB_ALIAS, migrations, models, router -from django.apps import apps as live_apps - - -def de_dupe_version_table(apps, schema_editor): - """ - Removes some duplicate Version models that may have crept into the database and will prevent the - unique index being added by migration 0004. - """ - db_alias = schema_editor.connection.alias - Version = apps.get_model("reversion", "Version") - keep_version_ids = Version.objects.using(db_alias).order_by().values_list( - # Group by the unique constraint we intend to enforce. - "revision_id", - "content_type_id", - "object_id", - ).annotate( - # Add in the most recent id for each duplicate row. - max_pk=models.Max("pk"), - ).values_list("max_pk", flat=True) - # Do not do anything if we're keeping all ids anyway. - if keep_version_ids.count() == Version.objects.using(db_alias).all().count(): - return - # Delete all duplicate versions. Can't do this as a delete with subquery because MySQL doesn't like running a - # subquery on the table being updated/deleted. - delete_version_ids = list(Version.objects.using(db_alias).exclude( - pk__in=keep_version_ids, - ).values_list("pk", flat=True)) - Version.objects.using(db_alias).filter( - pk__in=delete_version_ids, - ).delete() - - -def set_version_db(apps, schema_editor): - """ - Updates the db field in all Version models to point to the correct write - db for the model. - """ - db_alias = schema_editor.connection.alias - Version = apps.get_model("reversion", "Version") - content_types = Version.objects.using(db_alias).order_by().values_list( - "content_type_id", - "content_type__app_label", - "content_type__model" - ).distinct() - model_dbs = defaultdict(list) - for content_type_id, app_label, model_name in content_types: - # We need to be able to access all models in the project, and we can't - # specify them up-front in the migration dependencies. So we have to - # just get the live model. This should be fine, since we don't actually - # manipulate the live model in any way. - try: - model = live_apps.get_model(app_label, model_name) - except LookupError: - # If the model appears not to exist, play it safe and use the default db. - db = "default" - else: - db = router.db_for_write(model) - model_dbs[db].append(content_type_id) - # Update db field. - # speedup for case when there is only default db - if DEFAULT_DB_ALIAS in model_dbs and len(model_dbs) == 1: - Version.objects.using(db_alias).update(db=DEFAULT_DB_ALIAS) - else: - for db, content_type_ids in model_dbs.items(): - Version.objects.using(db_alias).filter( - content_type__in=content_type_ids - ).update(db=db) - - -class Migration(migrations.Migration): - - dependencies = [ - ('reversion', '0002_auto_20141216_1509'), - ] - - operations = [ - migrations.RemoveField( - model_name='revision', - name='manager_slug', - ), - migrations.RemoveField( - model_name='version', - name='object_id_int', - ), - migrations.AlterField( - model_name='version', - name='object_id', - field=models.CharField(help_text='Primary key of the model under version control.', max_length=191), - ), - migrations.AlterField( - model_name='revision', - name='date_created', - field=models.DateTimeField(db_index=True, help_text='The date and time this revision was created.', verbose_name='date created'), - ), - migrations.AddField( - model_name='version', - name='db', - field=models.CharField(null=True, help_text='The database the model under version control is stored in.', max_length=191), - ), - migrations.RunPython(de_dupe_version_table), - migrations.RunPython(set_version_db), - ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-reversion-3.0.1/reversion/migrations/0004_auto_20160611_1202.py new/django-reversion-3.0.2/reversion/migrations/0004_auto_20160611_1202.py --- old/django-reversion-3.0.1/reversion/migrations/0004_auto_20160611_1202.py 2018-10-23 16:29:55.000000000 +0200 +++ new/django-reversion-3.0.2/reversion/migrations/0004_auto_20160611_1202.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.7 on 2016-06-11 12:02 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('reversion', '0003_auto_20160601_1600'), - ] - - operations = [ - migrations.AlterField( - model_name='version', - name='db', - field=models.CharField(help_text='The database the model under version control is stored in.', max_length=191), - ), - migrations.AlterUniqueTogether( - name='version', - unique_together=set([('db', 'content_type', 'object_id', 'revision')]), - ), - ]