[PATCH v2 0/5] Update REST API: Add 'project patches as mbox' field

Mete Polat metepolat2000 at gmail.com
Tue Jul 2 01:28:17 AEST 2019


> Hi Mete,
>
>> Patchwork already has the ability to export patches, series, covers and bundles
>> as an mbox file. This patch extends that ability to projects as well. Therefore
>> a new url and api field has been introduced.
>>
> Thanks for your contribution!
>
> I checked
> https://lore.kernel.org/patchwork/project/lkml/list/?archive=both&state=*
> at the moment it has 1012231 patches. I'm a bit worried about how long
> that would take to export and the load it would put on an server to
> serve a request for all the patches. I think some of the lists on ozlabs
> will also have hundred of megabytes of patches.
>
> What do you see as the use case for this?
>
> Regards,
> Daniel

Hello Daniel,

this patch is our effort in combining Patchwork with PaStA (Patch Stack
Analysis). We described our intention in detail in our mail 'Patch
stack analysis'.
We have to download all patches in a project in order to analyze and
compare different ones. This is a one-time job. Later on, incoming
patches are downloaded individually (similar to what snowpatch does).
This approach allows us to keep the data between patchwork and PaStA
consistent.
We have understand the problem of server load. Do you have any
suggestion for a solution?

Regards,

Mete
>> Updated REST API version to 1.2
>>
>> New REST API url: api/1.2/
>> New internal url: project/<project_id>/list/mbox/
>> New project rest api field: patches_mbox
>>
>> Like patchwork.example.com/project/<project_id>/list/ the final project.mbox
>> only includes patches. Careful naming has been made in case the api should
>> support export of a whole project in the future as well.
>>
>> Changes since v1:
>> - Add missing url for api version 1.2
>>
>> Mete Polat (5):
>>   Add option to get all project patches in one mbox
>>   Add urls to get all project patches in one mbox
>>   Add api endpoint for project patches as mbox
>>   Update api documentation for v1.2
>>   Add release notes: project patches as mbox
>>
>>  docs/api/rest/index.rst                       |   50 +-
>>  docs/api/rest/schemas/v1.1.rst                |    4 +-
>>  docs/api/rest/schemas/v1.2.rst                |    5 +
>>  docs/api/schemas/generate_schema.py           |    4 +-
>>  docs/api/schemas/latest/patchwork.yaml        |    7 +-
>>  docs/api/schemas/patchwork.j2                 |    7 +
>>  docs/api/schemas/v1.2/patchwork.yaml          | 2319 +++++++++++++++++
>>  patchwork/api/project.py                      |   11 +-
>>  patchwork/models.py                           |   25 +-
>>  patchwork/urls.py                             |    6 +-
>>  patchwork/views/patch.py                      |   12 +
>>  patchwork/views/utils.py                      |   13 +
>>  ...project-patches-mbox-623f8c9d4cf6a952.yaml |    6 +
>>  13 files changed, 2428 insertions(+), 41 deletions(-)
>>  create mode 100644 docs/api/rest/schemas/v1.2.rst
>>  create mode 100644 docs/api/schemas/v1.2/patchwork.yaml
>>  create mode 100644 releasenotes/notes/project-patches-mbox-623f8c9d4cf6a952.yaml
>>
>> -- 
>> 2.22.0
>>
>> _______________________________________________
>> Patchwork mailing list
>> Patchwork at lists.ozlabs.org
>> https://lists.ozlabs.org/listinfo/patchwork


More information about the Patchwork mailing list