Problem definition
CODESYS is an independent programming system for programmable logic controllers. A CODESYS project consists of logic POUs programmed in one of the five IEC 61131-3 languages, as well as other types of POUs such as device configurations and HMI visualizations. All of these POUs are stored in a single project file, which is very convenient for distribution.
CODESYS SVN is a post-installable add-on product for CODESYS for managing these projects in a Subversion repository. Each POU corresponds to a file in the repository, so that one version history can be recorded for each POU. Furthermore, multiple developers can work on the same project simultaneously in the repository. All essential Subversion commands are integrated in the CODESYS programming system, as well as matching (in some cases graphical) diff views for comparing different POU revisions. CODESYS SVN is one of the most successful add-ons in our product portfolio.
Since the market launch of CODESYS SVN, we have seen that the Git version control system has become increasingly important as compared to Subversion. This is not least due to functional advantages, the existence of GitHub, and the seamless integration in development environments such as Microsoft Visual Studio. Therefore, it is our aim to provide the existing add-on for Subversion with a Git integration with CODESYS.