Jump to content

Source control and LabVIEW

Recommended Posts


How are You guys working with diffs and merges in LabVIEW? Or when You simply want to check what changed in specific VI?

Recently I ve been doing more text based programming and LabVIEW is so far behind when it comes to code revision management, in fact it makes team work on big project very hard. The best what we can do now is binary diff of VI. I know there is this LVCompare app but this is not enough. Wouldn't be ince if NI integrated LV IDE with SVN and GIT source code control??

Link to comment

There are two major schemes in SCC.  Lock-Commit, and Merge.  It seems most text based languages don't bother with Lock-Commit since an intelligent text merge can be done pretty easily.  Since LabVIEW's VIs are binary, a merge can't really happen on a file level.  The Compare and Diff tool NI has made does help, but I've found it at times to be messy.  A more rigid approach is the Lock-Commit.  This works best when an application has been broken up into sub modules, most often Libraries, or Classes.  Then multiple developers can work on separate files at the same time, but lock them so that the file can only be edited by one person at a time.  This does take the cooperation of all developers.  Blanket statements like "Don't lock the whole project" needs to be something everyone does.  Otherwise you will be calling up someone telling them to unlock the files they have.  I've gotten used to this over the years, but if you are a new to LabVIEW and you have 1 or 2 huge VIs, then locking them to one user will cause problems.

As mentioned NXG uses XML as the file format (with a few binary blobs when needed) and merging them in text has some varying level of success.  But with a relatively complicated XML file merging might not always do what the developer expects.

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.