Creating Pull Requests and Getting Them Accepted
I'm a newcomer to the MuseScore dev space, and so I ask the following in good faith and out of curiosity:
-
Do PRs need an associated open issue or formal node (forum post) to link to in order to be realistically considered for merging into Master? If so, is it necessary for a dev to formally create an open issue or post if they plan on personally pursuing a bug fix or feature request that they themselves came upon?
-
How are PRs evaluated and how does one know if a PR has been passed over temporarily, or if it has been permanently deemed not valuable?
-
What is the usual time frame involved in merging a PR (between PR being posted and PR being accepted and merged/closed)?
-
Who are the individuals with merging permissions?
Thank you.
Comments
You're always free to ask anything; we all had/have to learn at some point and while we do try to improve our documentation, it has proven not always easily found.
1. Do PRs need an associated open issue or formal node (forum post) to link to in order to be realistically considered for merging into Master? If so, is it necessary for a dev to formally create an open issue or post if they plan on personally pursuing a bug fix or feature request that they themselves came upon?
They don't have to have an associated entry in the issue tracker, but it is preferred. Bugfixes on the build environment often don't have an issue associated with them; bugs that affect the end user should have one.
It makes it easier to create release notes later on, as well as having a reference point if someone else reports they have detected that bug.
Similarly for features, the usual flow is a forum post first, with some (or a lot :) ) discussion about it; leading to an "official" feature request in the tracker once a consensus about the functionality has been reached.
2. How are PRs evaluated and how does one know if a PR has been passed over temporarily, or if it has been permanently deemed not valuable?
There is a small group that performs code-review on the PR (Jojo-Schmitz most notably). Then usually lasconic performs a review/test on his system.
If a PR is deemed not valuable, it'll be closed and a comment explaining why is attached to it. Note that this doesn't happen very often in our workflow, as most of the time you're either addressing a known bug or the value of the feature has been discussed on the forum up front.
3. What is the usual time frame involved in merging a PR (between PR being posted and PR being accepted and merged/closed)?
For bugfixes, somewhere between 1h and 1y, mostly around 2-3 weeks. For features, somewhere between 1w and 5y, mostly around 1month (or you'd at least get some feedback then).
4. Who are the individuals with merging permissions?
AFAIK: lasconic and werner
If you have a PR you'd like feedback on, feel free to join us on IRC and ask about it. We're not that scary ;-)
In reply to You're always free to ask… by jeetee
Thank you for your thoughtful and timely response. I'd be interested in joining the IRC, but I'm not really sure how it works (I've never really used an IRC). Is it a real-time instant messaging system, or is it more of a delayed response system? If it is real-time, how do you know when others will be on?
In reply to Thank you for your… by MrDrProfK
Just have a look and you'll see ;-)
It is real time and you an see who else is there