
Thanks for writing these up! These will be handy references that I'm sure I'll come back to many times. Question: once I've marked my MR as "backport-needed" (and it is merged into master), whose responsibility is it to ensure that it gets merged into the latest release branch (e.g., ghc-8.8)? It it the responsibility of the person who made the MR originally, or is there a process in place for collecting these backport-needed patches into batches and merging them? Ryan S.

Ryan Scott
Thanks for writing these up! These will be handy references that I'm sure I'll come back to many times.
Question: once I've marked my MR as "backport-needed" (and it is merged into master), whose responsibility is it to ensure that it gets merged into the latest release branch (e.g., ghc-8.8)? It it the responsibility of the person who made the MR originally, or is there a process in place for collecting these backport-needed patches into batches and merging them?
It is of course appreciated if people backport their own patches. However, I do intend on doing a sweep of the backport list and take care of anything I find while preparing the stable branch. I'll see to it that this is better documented. Cheers, - Ben

Thanks! The updated information is now on https://gitlab.haskell.org/ghc/ghc/wikis/gitlab/merge-requests, for those who are curious:
While the release manager can perform the backport on your behalf, it is appreciated if you open a merge request with the backported patches yourself.
One further question: if a patch (that is intended to be backported) first
lands on master, is it considered good practice to leave the corresponding
issue open until the backport happens, similar to Trac's "merge" status? Or
is this practice obsolete in the new label-based workflow?
Ryan S.
On Tue, Apr 2, 2019 at 10:05 AM Ben Gamari
Ryan Scott
writes: Thanks for writing these up! These will be handy references that I'm sure I'll come back to many times.
Question: once I've marked my MR as "backport-needed" (and it is merged into master), whose responsibility is it to ensure that it gets merged into the latest release branch (e.g., ghc-8.8)? It it the responsibility of the person who made the MR originally, or is there a process in place for collecting these backport-needed patches into batches and merging them?
It is of course appreciated if people backport their own patches. However, I do intend on doing a sweep of the backport list and take care of anything I find while preparing the stable branch.
I'll see to it that this is better documented.
Cheers,
- Ben

Ryan Scott
Thanks! The updated information is now on https://gitlab.haskell.org/ghc/ghc/wikis/gitlab/merge-requests, for those who are curious:
While the release manager can perform the backport on your behalf, it is appreciated if you open a merge request with the backported patches yourself.
One further question: if a patch (that is intended to be backported) first lands on master, is it considered good practice to leave the corresponding issue open until the backport happens, similar to Trac's "merge" status? Or is this practice obsolete in the new label-based workflow?
Indeed this should be documented (which I have done): the ticket should remain open. To identify backports I look at open tickets bearing the "backport needed" label. Cheers, - Ben

To identify backports I look at open tickets bearing the "backport needed" label.
That's good to know, thanks.
What should become of small MRs that are made directly against `master`
(without a corresponding issue) that are intended to be backported as well?
Does it suffice to label those with "backport needed", or should we also
open "backport needed"–labeled issues as well to ensure that they're
caught? (I have [1] and [2] in mind when asking this question.)
I ask since if the former suffices, that would imply that the set of places
that one would need to look to find all things that need to be backported
would be:
1. The set of all open tickets labeled with "backport needed", unioned with
2. The set of all resolved MRs labeled with "backport needed".
Unfortunately, GitLab doesn't appear to give you a way to view both
simultaneously (unless I'm missing something), which is why I thought it
worthwhile to ask you if this state of affairs would be inconvenient.
Ryan S.
-----
[1] https://gitlab.haskell.org/ghc/ghc/merge_requests/650
[2] https://gitlab.haskell.org/ghc/ghc/merge_requests/639
On Tue, Apr 2, 2019 at 2:24 PM Ben Gamari
Ryan Scott
writes: Thanks! The updated information is now on https://gitlab.haskell.org/ghc/ghc/wikis/gitlab/merge-requests, for those who are curious:
While the release manager can perform the backport on your behalf, it is appreciated if you open a merge request with the backported patches yourself.
One further question: if a patch (that is intended to be backported) first lands on master, is it considered good practice to leave the corresponding issue open until the backport happens, similar to Trac's "merge" status? Or is this practice obsolete in the new label-based workflow?
Indeed this should be documented (which I have done): the ticket should remain open. To identify backports I look at open tickets bearing the "backport needed" label.
Cheers,
- Ben

Ryan Scott
To identify backports I look at open tickets bearing the "backport needed" label.
That's good to know, thanks.
What should become of small MRs that are made directly against `master` (without a corresponding issue) that are intended to be backported as well? Does it suffice to label those with "backport needed", or should we also open "backport needed"–labeled issues as well to ensure that they're caught? (I have [1] and [2] in mind when asking this question.)
Indeed this is something I have wondered about. This is all a fair bit trickier recently because we currently are maintaining two "stable" branches (ghc-8.6 and ghc-8.8). This means that a MR could be in one of five states: a. ~"backport needed" applied and open: not present in master or any stable branch. b. ~"backport needed" applied and closed: present only in maser c. ~"backport needed" applied and closed: present in master and ghc-8.8 d. ~"backport needed" applied and closed: present in master and ghc-8.6 e. closed: present in master, ghc-8.8, and ghc-8.6 Unfortunately keeping track of which of (b), (c), or (d) an MR is in entirely manual. For this reason I have wondered whether it would be worth opening an issue for every backport request (e.g. for each backport MR that should be created). This sounds like it may be a lot of work but it would significantly reduce the probability that something is dropped on the floor (and address your quite valid concern of there being no way to view both issues and merge requests together). Cheers, - Ben
participants (2)
-
Ben Gamari
-
Ryan Scott