[PATCH v5 0/7] Add series support

Stephen Finucane stephen at that.guru
Tue Oct 11 20:14:43 AEDT 2016

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

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

More information about the Patchwork mailing list