[PATCH v3 0/7] Add series support

Stephen Finucane stephenfinucane at hotmail.com
Tue Sep 13 07:53:26 AEST 2016


Add support for series. Series are groups of patches sent as one
bundle. For example:

    [PATCH 0/3] A cover letter
      [PATCH 1/3] The first patch
      [PATCH 2/3] The second patch
      [PATCH 3/3] The third patch

The following features are currently provided:

Parsing
=======

* Creation of new series, and linking of patches/cover letters to
  existing series

UI
==

* Series column in patch-list
* Series and related patches/cover letters links in patch-detail
* Filtering by series
* Integration with Django-admin

There are some important notes regarding how this is implemented:

* We *never* expose 'Series' to the end-user. Instead, "related
  series" should be exposed
* Patches form a one-to-one relationship with SeriesReference
* Auto-completion of series should be done in the view code, rather
  than the database

Changes since v2:
- Added integration tests
- Correct issue with handling of series sent in-reply-to a previous
  series

Stephen Finucane (7):
  models: Convert functions to properties
  models: Add 'Series' model and related models
  parser: Add series parsing
  tests: Add tests for series
  templates: Generate and use a "handle"
  templates: Integrate series support
  templates: Integrate series view into patches

 htdocs/css/style.css                               |   6 +
 patchwork/admin.py                                 |  70 ++++-
 patchwork/filters.py                               |  56 +++-
 patchwork/migrations/0014_add_series_models.py     |  56 ++++
 patchwork/models.py                                | 133 +++++++++-
 patchwork/parser.py                                | 127 ++++++++-
 patchwork/templates/patchwork/patch-list.html      |  12 +
 patchwork/templates/patchwork/submission.html      |  50 +++-
 patchwork/templatetags/person.py                   |  12 +-
 patchwork/tests/series/README.md                   |  18 ++
 .../tests/series/no-cover-letter-revision.mbox     | 249 ++++++++++++++++++
 patchwork/tests/series/simple-cover-letter.mbox    | 126 +++++++++
 patchwork/tests/series/simple-no-cover-letter.mbox | 110 ++++++++
 patchwork/tests/series/simple-out-of-order.mbox    | 126 +++++++++
 patchwork/tests/series/simple-revision.mbox        | 283 ++++++++++++++++++++
 patchwork/tests/series/threaded-revision-a.mbox    | 292 +++++++++++++++++++++
 patchwork/tests/series/threaded-revision-b.mbox    | 287 ++++++++++++++++++++
 patchwork/tests/series/threaded-revision-c.mbox    | 287 ++++++++++++++++++++
 patchwork/tests/series/unlabeled-revision.mbox     | 283 ++++++++++++++++++++
 patchwork/tests/test_parser.py                     | 111 ++++++--
 patchwork/tests/test_series.py                     | 275 +++++++++++++++++++
 patchwork/tests/utils.py                           |  32 +++
 patchwork/views/__init__.py                        |   4 +-
 patchwork/views/patch.py                           |   4 +-
 patchwork/views/user.py                            |   2 +-
 patchwork/views/xmlrpc.py                          |   2 +-
 26 files changed, 2954 insertions(+), 59 deletions(-)
 create mode 100644 patchwork/migrations/0014_add_series_models.py
 create mode 100644 patchwork/tests/series/README.md
 create mode 100644 patchwork/tests/series/no-cover-letter-revision.mbox
 create mode 100644 patchwork/tests/series/simple-cover-letter.mbox
 create mode 100644 patchwork/tests/series/simple-no-cover-letter.mbox
 create mode 100644 patchwork/tests/series/simple-out-of-order.mbox
 create mode 100644 patchwork/tests/series/simple-revision.mbox
 create mode 100644 patchwork/tests/series/threaded-revision-a.mbox
 create mode 100644 patchwork/tests/series/threaded-revision-b.mbox
 create mode 100644 patchwork/tests/series/threaded-revision-c.mbox
 create mode 100644 patchwork/tests/series/unlabeled-revision.mbox
 create mode 100644 patchwork/tests/test_series.py

-- 
2.7.4



More information about the Patchwork mailing list