04-01-2013 06:18 PM
Hi everyone
Version control for classes, projects and libs (not just a plain .vi) - can it be done with lvcompare and lvmerge?
I've tried a simple "LVCompare.exe project1.lvproj project2.lvproj" and it only returns an error (lvcompare.exe vi1.vi vi2.vi works). So this is maybe a dead end.
How do you guys version control more complex projects? E.g. projects which use classes, libs, labview projects (.lvproj)?
Best regards
Jonascj
04-06-2013 09:45 AM
No one uses version control for their projects?
04-08-2013
04:24 AM
- last edited on
04-12-2024
05:10 PM
by
Content Cleaner
Hi Jonascj.
Welcome to the forum
For more information about version control in LabVIEW, please see this document:
Software Configuration Management and LabVIEW
https://www.ni.com/en/support/documentation/supplemental/06/software-configuration-management-and-la...
You can use LabVIEW with third-party source control providers:
TortoiseSVN Tool for LabVIEW
https://www.ni.com/en/support/downloads/tools-network/download.tortoisesvn-toolkit-for-labview.html
TSVN Toolkit
https://www.ni.com/en/support/downloads/tools-network/download.tsvn-toolkit.html
04-08-2013 06:14 AM
Thank you for your reply. I've already read most of the documents NI have on source control.
What I have been unable to find is utilities / practices for working with .lvproj, .lvlib and .lvclass files. Those three filetypes are containers for other VIs and settings pertaining to those VIs (access scope for example). .lvclass even have settings itself (e.g. inheritance). lvcompare and lvmerge cannot compare two .lvclass files and tell you that one has changed inheritance compared to the other - it only works for bare VIs.
So does anyone know of any tools (or best practices to compensate for possible lack of tools) to compare and merge .lvlib, .lvclass and/or .lvproj files?
Of course those files can be versioned controlled anyway with GIT, SVN or similar, but then you'll only be able to learn that "file a has changed" - no hints to whether it properties of the class (e.g. inheritance) or one of the individual VI's (e.g. the methods).
04-08-2013 08:18 AM
Those files are actually XML. So you could probably figure out the changes by using a simple text diff tool.
04-08-2013 08:39 AM
Thank you for your reply. You are right, .lvclass, .lvproj and .lvlib are all just xml files - I've just figured that out my self when I accidentally called GIT's default diff on a lvclass 🙂
I've also just spoken to National Instruments. The person I spoke to (from the one of the danish offices) told me that no tools exist at this time (2013-04-08) which will compare those LabView file types, but that there was an internal (National Instruments themselves) feature request for such tools.
He also told me another interesting thing which I did not know. The lvcompare.exe (located in National Instruments/Shared/LabVIEW Compare/ on Windows) is actually the not developed by National Instruments, but is either a "fork" of LVDiff (http://meta-diff.sourceforge.net/) or LVDiff renamed. So one could simply obtain the source code from http://meta-diff.sourceforge.net/ (at the bottom of the page "Win32 binary w/source") and add a few property nodes to do comparision of lvclass attributes etc.