[PATCH v5 0/7] Add series support

Russell Currey ruscur at russell.cc
Tue Oct 11 11:51:03 AEDT 2016


On Sun, 2016-10-09 at 23:25 +0100, Stephen Finucane wrote:
> 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
> 
> Changes since v4:
> - Resolve performance issues with patch-list page
> - Store cover letter name into SeriesRevision.name field

Hi Stephen, thanks for continuing to work on this.

I spoke to Daniel and Andrew and we have a small feature list around series
that's currently missing from this implementation:

- no easy way for maintainers to change the name of a series.  Ideally there'd
be some way to do this when clicking on a series, having to go into the django
admin interface is annoying and also confusing

- no easy way to download a mbox file of all patches in a series, which would be
very useful

- no series in the patch API at all.  This could probably be implemented a few
different ways, but having no series at all is limiting

- no series integration with bundles at all, for example no "create bundle from
series" or "add series to bundle" options

- "untitled series #420" is certainly better than having every series named
"untitled series", but I still think it's worse than "series starting with
'[1/10] add foo to bar'"

- some indication that not all patches in the series had been received, i.e.
patch 7/7 arrived but there are only 6 patches

I don't think all of this stuff would need to be included in the initial
implementation, and I think one of us would be able to work on it.  Are you
aware of anything here that would be backwards incompatible that might need to
go in now?  The only thing I can think of would be the series naming.

> 
> 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                                 |  67 ++++-
>  patchwork/filters.py                               |  56 +++-
>  patchwork/migrations/0014_add_series_models.py     |  67 +++++
>  patchwork/models.py                                | 180 +++++++++++--
>  patchwork/parser.py                                | 130 ++++++++-
>  patchwork/templates/patchwork/patch-list.html      |  14 +
>  patchwork/templates/patchwork/submission.html      |  64 ++++-
>  patchwork/templatetags/person.py                   |  10 +-
>  patchwork/tests/series/README.md                   |  18 ++
>  patchwork/tests/series/base-cover-letter.mbox      | 126 +++++++++
>  patchwork/tests/series/base-no-cover-letter.mbox   | 110 ++++++++
>  patchwork/tests/series/base-out-of-order.mbox      | 126 +++++++++
>  patchwork/tests/series/revision-basic.mbox         | 283 ++++++++++++++++++++
>  .../tests/series/revision-no-cover-letter.mbox     | 249 ++++++++++++++++++
>  patchwork/tests/series/revision-out-of-order.mbox  | 287 ++++++++++++++++++++
>  .../tests/series/revision-threaded-to-cover.mbox   | 292
> +++++++++++++++++++++
>  .../tests/series/revision-threaded-to-patch.mbox   | 287 ++++++++++++++++++++
>  patchwork/tests/series/revision-unlabeled.mbox     | 283 ++++++++++++++++++++
>  patchwork/tests/test_parser.py                     | 112 ++++++--
>  patchwork/tests/test_series.py                     | 289 ++++++++++++++++++++
>  patchwork/tests/utils.py                           |  25 ++
>  patchwork/views/__init__.py                        |   8 +-
>  patchwork/views/patch.py                           |   4 +-
>  patchwork/views/user.py                            |   2 +-
>  patchwork/views/xmlrpc.py                          |   2 +-
>  26 files changed, 3026 insertions(+), 71 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/base-cover-letter.mbox
>  create mode 100644 patchwork/tests/series/base-no-cover-letter.mbox
>  create mode 100644 patchwork/tests/series/base-out-of-order.mbox
>  create mode 100644 patchwork/tests/series/revision-basic.mbox
>  create mode 100644 patchwork/tests/series/revision-no-cover-letter.mbox
>  create mode 100644 patchwork/tests/series/revision-out-of-order.mbox
>  create mode 100644 patchwork/tests/series/revision-threaded-to-cover.mbox
>  create mode 100644 patchwork/tests/series/revision-threaded-to-patch.mbox
>  create mode 100644 patchwork/tests/series/revision-unlabeled.mbox
>  create mode 100644 patchwork/tests/test_series.py
> 



More information about the Patchwork mailing list