On 2016-10-11 00:51, Russell Currey wrote:
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:


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


* 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:

I'd been planning on taking pretty much everyone of these on with subsequent series :)

- 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

Good call - can we do this for bundles right now? If so, I might simply copy the UI.

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

Yup, this is an easy follow up.

- 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

I think Andrew was working on this so I halted my own efforts here. Again, this is a separate series though.

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

I've planned on deprecating bundles in a future release, assuming there was no objections. Far as I see it, bundles are no longer required if you we have a new unit for collections of patches in the form of series? I'm open to ideas and code submissions here, however.

- "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'"

Should be trivial enough change. I wonder if we should save this into the db on calculate it on the fly like I do for 'untitled series'? I'll need to benchmark it and if the former is no slower, then this can be a follow-up patch. If the latter is more performant, we'll need to respin.

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

We have this in the admin interface alright, but presenting this in some real-time manner to the user will require tracking of events. I'd been hoping to integrate an '/events' API using something like 'django-activity-stream' [1]. This would signal events for things like "patch has all dependencies met" or "patch state has been changed" via the API. Once again, though, this seems very much like a separate, follow-up series.

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.

Yeah, I'm doing all of this in my spare time so it's going to be tough to address all of the above in one giant series (hence breaking it up). Personally, I'd like to see us review the series as-is right now, with a focus on the models and parser, then start building upon it with follow-up patches. Thoughts?


[1] https://github.com/justquick/django-activity-stream
Patchwork mailing list

Reply via email to