Mendix 10 Commits to Git
Because Git’s flexible branching capabilities pave the way for even stronger collaboration with your peers in the Mendix ecosystem, as well as further integration into your CI/CD landscape, we will move forward with Git as our version control technology.
What this means for you
- With Mendix 9.24 (LTS), you will no longer be able to create new apps stored in SVN Team Server.
- SVN apps created before or in Mendix 9.23 can still be opened and modified in Mendix 9.24 (LTS).
- With Mendix 10, it will not be possible to open SVN apps.
- Before upgrading your Mendix app to Mendix 10, you will have to ensure it’s migrated to Git. For Team Server SVN apps this is possible from Mendix 9.12 and above. For on-premise apps you can follow these steps.
During the past decade. Git’s popularity has leapfrogged the other popular version control systems, like SVN and Mercurial, making it the clear market leader. New developers are typically only experienced with Git and customers that prefer on-premise installations no longer have SVN servers in-house.
Git’s dominance can be seen here in this Stack Overflow 2022 Developer survey:
Besides its popularity, it’s also important to highlight the functional differences. Git is a distributed version control system, which means you can make commits without being connected to the server. In addition, you gain a lot of flexibility in branching, allowing you to easily merge changes from any branch into any branch. And not to forget, its offers more control when getting updates. Finally, Git is commonly associated with the concept of pull or merge requests, a tool to further strengthen collaboration.
For apps hosted on Team Server SVN, you can migrate them to Git in the Developer Portal while retaining all history and branches. Migrating is only possible if all your branches are on Mendix 9.12 or above. The time of the repository migration depends on the size of the project and the amount of commits. Average size repositories typically take 5 minutes to a few hours for large projects to migrate More information about the self-service migration is available here.
If you’re not using Team Server SVN then you’ll have to take care of the migration to Git yourself, for example with the `git svn clone` command as described here.
For situations where you’re maintaining an app for multiple Mendix versions, for example when building a module for the app store, then you might need to split your app into multiple apps. You can’t have both Mendix 8 and Mendix 10 branches in the same version control system because you can’t open Git apps in Mendix 8 or open SVN apps in Mendix 10.
|Mendix version||SVN support||Git support|
The future of Git in Mendix
We’re leveraging the power of Git to further improve the collaboration capabilities of Studio Pro in Mendix 9, which is important part of our strategy (as you can read here.) For example, we’ll be adding a version control status indicator and notifications of commits made by your peers. In addition, we want to speed up working with branches, like in-place branch switching or making local clones, and improve inspecting changes made in a commit, for example.