[PATCH 2/9] debugging: add command to dump patches and series
Daniel Axtens
dja at axtens.net
Thu Feb 22 01:17:09 AEDT 2018
I don't want a full dump, just enough to know if the same patches
and series have been created with roughly the same properties. This
seemed like the easiest way to do it.
Usage:
python3 manage.py debug_dump > file
... make changes, reset db, reload files ...
python3 manage.py debug_dump > file2
diff -u file file2
Signed-off-by: Daniel Axtens <dja at axtens.net>
---
patchwork/management/commands/debug_dump.py | 46 +++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
create mode 100644 patchwork/management/commands/debug_dump.py
diff --git a/patchwork/management/commands/debug_dump.py b/patchwork/management/commands/debug_dump.py
new file mode 100644
index 000000000000..f668dd14f1d2
--- /dev/null
+++ b/patchwork/management/commands/debug_dump.py
@@ -0,0 +1,46 @@
+# Patchwork - automated patch tracking system
+# Copyright (C) 2018 Daniel Axtens <dja at axtens.net>
+#
+# This file is part of the Patchwork package.
+#
+# Patchwork is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# Patchwork is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+from django.core.management import base
+
+from patchwork.models import Patch
+from patchwork.models import Series
+
+
+class Command(base.BaseCommand):
+ help = 'DEBUG COMMAND: Return a minimal robust representation of the db.'
+
+ def handle(self, *args, **options):
+ """This is to check the invariance of parsing as messages are
+ reordered or received in parallel."""
+
+ series = []
+ for s in Series.objects.all():
+ series += ['%s :: v%d :: %d patches :: %s'
+ % (s.name, s.version, s.total, s.submitter.email)]
+
+ series.sort()
+ print('=== %d series ===' % len(series))
+ for s in series:
+ print(s)
+
+ patches = []
+ for p in Patch.objects.all():
+ patches += ['%s :: ID %s' % (p.name, p.msgid)]
+
+ patches.sort()
+ print('=== %d patches ===' % len(patches))
+ for p in patches:
+ print(p)
--
2.14.1
More information about the Patchwork
mailing list