flokli / gerrit-queue

A merge bot for Gerrit
Apache License 2.0
18 stars 2 forks source link

serie: allow submitting a serie halfway? #5

Open flokli opened 4 years ago

flokli commented 4 years ago

In some cases, someone (person B) might piggy-back on changes someone else (person A) did, and rebase on top of that.

This will extend the existing Serie with a Changeset that might not have all required flags (and especially tags!) set, unintentionally blocking the original stack of person A from being submitted - the current logic will consider the Serie as not fully submittable if any Changeset in there is not submittable (+1,+2 and tagged).

Possible solutions: 1) autosubmit submittable changesets at the beginning of the series (but what to do if rebases are necessary? rebase these too)? 2) rip apart series if they contain a not submittable changeset. However, this could probably cause unintuitive rebasing action to happen

cc @ghorn @zimbatm @guibou for opinions

zimbatm commented 4 years ago

If the notion of "serie" is revisited to only include all the contiguous changesets that have a submit_me tag, it would solve the issue.

ghorn commented 4 years ago

How about having submit_me mark the end of a Series? So you can submit everything at once up to and including the submit_me but no further?

flokli commented 4 years ago

People might then accidentially queue something for submission which isn't theirs - but I assume that already was the case when physically pushing the Submit button (even though it asked for confirmation)

ghorn commented 4 years ago

can you break up series by author as well?

ghorn commented 4 years ago

but yeah good point, you can still click the submit button

ghorn commented 4 years ago

For this reason, it would be good if patches lost submit_me when they were rebased (except if they were rebased by the submit bot)

flokli commented 4 years ago

For this reason, it would be good if patches lost submit_me when they were rebased (except if they were rebased by the submit bot)

This would probably need to be done by some rule inside gerrit - I don't think the submit queue should track all that and drop tags at will.

If this is easily doable, we could lift the restriction of requiring intermediate changesets to have the submit queue tag.

However, this is orthogonal to the discussion on whether it should be possible to partially submit a Series. looping back to the description, the Changesets that person B rebased after the work from person A don't need to have the necessary +1's and +2's at all, and it might still make sense to submit the changesets from person A.

ghorn commented 4 years ago

I think all problems are solved if a Series ends on a submit_me tag so that you can define multiple Series inside one large stack of changes