| Team Kodi
| Category:Team Kodi specific notes
This page describes the "merge window" procedure used by Team Kodi to merge pull requests into the master git branch.
1 Window version bump
Each merge window will be defined as an alpha release. Thus, the first commit in the next merge window should be a bump to 15.0-alpha2, 15.0-alpha3 and so on. This bump should be done on the first day of every month.
For internal versioning that cannot be handled with strings, we use currentvers + .9 instead, so that versions are always incrementing. It's not nice to mix, but since they're for dev use only, confusion should be minimal.
kodi.addon will be 14.9.1 for the first alpha in the 15.0 release series, 14.9.2 for the second, etc. This way final release will be 15.0.0 as expected. configure.in is handled the same way.
In addition Android needs to have an addition bump in "android:versionCode". This is an integer number that should be raised on each release.
In order to minimise the periods where features are added to Kodi and to encourage review of features prior to addition, the Kodi team operates a merge window policy. New features may only be merged from a pull request (PR) during the merge window. The rest of the time is left for bug fixing only.
If you have a simple bug fix, you can slot it straight into master whenever you like (given that you're a team member). If it is a non-trivial bugfix, then it's probably best to do a pull request, asking for the specific folk who should review prior to going in.
See: Development advisors
If you have a new feature addition, then it needs to go through a pull request. Currently the merge windows are the 1st to the 20th of the month. Thus, if you have a new feature, you first do a pull request and then solicit review. Assuming review brings up no issues, you can assign it to the merge window (using github issues) and pull it in during the 1st to the 20th of the month. If you miss the window, too bad - wait for the next alpha month.
If you do a pull request and get little feedback, then make sure you specifically request the feedback from those that are most appropriate to review.
For each merge window we will create a milestone on which PRs can be assigned. Like "Jarvis 16.0-alpha1"
Assigning a PR to a milestone will mean it has been accepted and signed of by the devs responsible.
- Make sure your branch compiles fine for you
- Do a PR for features or things that need some reviewing or you are unsure of
- Assign the appropriate label(s) that are available
- Assign a reviewer that will sign of your PR (maybe there should be multiple) and ping him about this
- Note: GitHub only allows one person to be assigned a PR, so if multiple sign offs are required, just put in one and ping/poke the others.
- Once signed of the PR can be assigned to the next alpha merge window milestone.
- If review takes to long don't hesitate to bug who must do the sign off.
- Make sure it compiles okay in Jenkins
- If merge window is open feel free to merge because it has been assigned to the milestone and is deemed ready to go