PR merge order strategies #137
pratikunterwegs
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This discussion is about PR merge order strategies and stems from my experience following the {epidemics} development day and subsequent contributions
Context: Multiple contributors opened PRs into {epidemics}
main
, with some conflicts between PRs (despite trying to avoid this by opening orthogonal issues - cannot account for everything). This is likely to recur as we have more such development days.Goals: Find a strategy that minimises work and time spent for maintainers, PR contributors, and reviewers, while also minimising errors during rebases and conflict fixing.
After the {epidemics} development day I did not have a specific strategy for the order in which multiple PRs should be merged (see attached image for final merge order), and came up with the following general order:
My thinking around this is based on a weighted shortest task approach, where I (inverse) rank the tasks by the amount of work they would take in terms of rebasing and fixing conflicts and the time priority. To take a specific example from {epidemics}, a fix that allows users to install the package at all, such as epiverse-trace/epidemics#129, was both short and high priority. Then, PRs adding vignettes involved changes to a small number of files (not counting formatting; see e.g. epiverse-trace/epidemics#131), while a PR targeting the source code went last (epiverse-trace/epidemics#130).
Happy to kick off this discussion and hopefully work towards a PR merge order strategy or guidelines for Epiverse.
Beta Was this translation helpful? Give feedback.
All reactions