Software Version Control in Simulink: SVN vs GIT
16 vues (au cours des 30 derniers jours)
I want to set up a Software Version Control for a couple of Simulink projects I'm working on. We are a handful of people working on these projects, and some of them are quite large. I'm doubting between SVN and GIT for the version control. I have some experience with both out of MATLAB environment. Is there any big difference between both in Simulink? I'm especially concerned with version comparison and merging in Simulink, because it seems a lot more complicated that in text based files (although I have seen that there is a tool to do this).
Also I'd be grateful if you had any advices on how to work with Simulink and version control, model references, simulink libraries...
Thanks a lot!
Luca Ferro le 13 Mar 2023
My team has always used SVN and now we are transitioning to GIT.
The best pro git argument is the well intergrated gui. Projects are great to simplify workflows (you still need someone capable of using bash for more advanced things), especially to manage conflicts. The 3-way merge tool is for sure the best thing for simulink versioning i've seen. Easy, quick and very user friendly.
The best pro SVN argument is that it requires way less maintanance and it has a less steep learning curve. Plus it's better with binary files from a storage and speed point of view.
Git weakness is that it's so optimized for code that it's tricky to adapt to simulink and to model based engineering teams. It needs qutie the initial effort from brainstorming the structure to writing guidelines.
SVN weakness is that it doesn't really allow parallel work in it's true meaning because of it's centralization and to me feels a lot like a dying environment.
It's been too little for me to get a decisive response to the 'what's better?' question.
I just replied to a question that might interest you here: Recommended practises for using git when collaborating using MATLAB/Simulink - MATLAB Answers - MATLAB Central (mathworks.com)