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?
Stephen
[1] https://github.com/justquick/django-activity-stream
_______________________________________________
Patchwork mailing list
[email protected]
https://lists.ozlabs.org/listinfo/patchwork