pawhan11 Posted April 11, 2020 Report Share Posted April 11, 2020 Hello, 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?? Quote Link to comment
smithd Posted April 12, 2020 Report Share Posted April 12, 2020 https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019ZhbSAE&l=en-US https://sine.ni.com/nips/cds/view/p/lang/en/nid/209022 All these do is call lvcompare, which you rightly described as not enough. I've not heard any rumor of the current version of labview ever supporting better tooling. Quote Link to comment
Antoine Chalons Posted April 13, 2020 Report Share Posted April 13, 2020 https://forums.ni.com/t5/NI-Blog/Designing-LabVIEW-NXG-Collaboration/ba-p/3854567 And as for NXG, it's supposed to be better but not perfect... not sure what that means. Quote Link to comment
pawhan11 Posted April 14, 2020 Author Report Share Posted April 14, 2020 Looks like existing Compare tool, hope it will be integrated into ide Quote Link to comment
hooovahh Posted April 14, 2020 Report Share Posted April 14, 2020 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. 1 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.