[PATCH 10/10] models: Enable "auto-completion" of series patches

Finucane, Stephen stephen.finucane at intel.com
Fri Jun 24 08:06:29 AEST 2016

On 23 Jun 13:22, Andy Doan wrote:
> On 06/13/2016 05:41 AM, Stephen Finucane wrote:
> >Users can send a new revision of a single patch from a series. When
> >this happens there is no immediate context: one must grok the
> >previous series to understand that this new patch is in fact a minor
> >change to an existing series and not a new, standalone hanges. This is
> >particularly impactful for things like CI which _need_ to understand
> >this dependency trail in order to successfully apply and test a patch.
> >
> >Resolve this issue through the "auto-completion" of series. This is
> >achieved by examining previous series and taking only the patches that
> >have not be replaced in the current version. For example, if a user
> >sends a three patch series and then submits a revision to patch two,
> >only patches one and three of the prior series will be used and the
> >resulting group presented as an entirely new series.
> >
> >This is done entirely dynamically. The reason for this is that series
> >relationships themselves are dynamic: sometimes it may not be possible
> >to identify a relationship until the last patch of a new series is
> >submitted (say there's a three patch series and the first two parsed
> >patches are significantly reworked).
> >
> >This won't catch situations where the order of a patch has been moved
> >or the patch has been significantly reworked. However, one can hope
> >users are not silly enough to do something like that.
> >
> >Signed-off-by: Stephen Finucane <stephen.finucane at intel.com>
> I'm not sure I'm understanding this properly. Here's how I tried to
> test this:
>  1) import this entire series with parsearchive.py
>  2) took this patch, and updated its headers to:
>     - have a new "Message-Id"
>     - make In-Reply-To and References point to the original 10/10 patch.
>  3) imported this new hand-crafted patch
> The result was the new patch being added to the same series
> revision. The way I read this commit message, I was expecting it to
> generate a new SeriesRevision. Am I missing something?

So what this is supposed to do is use patches from previous revisions
to complete the new revision. Say you have the following:

    [PATCH 1/2] Test
      [PATCH 2/2] Test123

    [PATCH v2 2/2] Test123

This is a series, then a single patch from the new series. This should
autocomplete and use v1 of [1/2] in place of the missing v2. However,
like the previous patch it doesn't work that well and I'd like to spend
more time on this. I'll drop for the next revision and address in a
separate series.

More information about the Patchwork mailing list