With MonoGame 3.0 being released the MonoGame team will be taking some time to do some long needed housekeeping. Our first step is to clean up the structure of our branches on Github. This post is intended to convey our goals, the steps we plan to make, and how they affect downstream forks.
If you work with our GitHub repo please read on to learn about the changes coming next week!
Our primary goal is to return to using a simplified git-flow branch structure. This will make development easier to manage and allow for more frequent stable releases moving forward.
The current MonoGame branch structure is this:
- Master - 2.x stable.
- Develop - 2.x development.
- Develop3d - 3.x development.
In hindsight it probably would have been better to simply do 2.x hotfixes than to split development into two branches for an extended period. There are also a bunch of old branches in there that have already been merged into develop/develop3d.
We plan to transform the branches back into this:
- Master - 3.x stable.
- Develop - 3.x development.
We will be making these changes using a merge "ours strategy". This will eliminate most all problems for downstream users and is extremely easy to do.
So what does this mean to you?
Actually not all that much.
If you are working out of the develop branch in your fork your next merge of upstream/develop will get you up to date with the 3.x development branch. If you don't want this then do not merge upstream changes. You can always reference one of the tags to get old versions of MonoGame.
If you are working out of the develop3d branch in your fork you simply need to start merging from upstream/develop. Or if you happen to have set the remote tracking branch you can change it like so:
git branch -u upstream/develop
Note that the upstream/develop3d branch will still work, but it will no longer recieve updates moving forward. We will also reject any pull requests submitted to develop3d.
Finally if you have an existing pull request open againt develop3d you will simply need to close it and resubmit it against the develop branch. All new pull requests going forward must be submited to the develop branch.
And according to our tests that is all you need to know. We will post another notice next week after the change occurs reminding you of all this.
If you have any additional questions or concerns let us know!