From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Version control (lvcompare and lvmerge) for projects, classes and libs?

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

0 Kudos
Message 1 of 6
(2,963 Views)

No one uses version control for their projects?

0 Kudos
Message 2 of 6
(2,909 Views)

Hi Jonascj.

 

 

Welcome to the forum Smiley Happy

 

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

 

Best Regards

Alex E. Munkhaus
Certified LabVIEW Developer (CLD)
System Engineer
0 Kudos
Message 3 of 6
(2,891 Views)

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).

0 Kudos
Message 4 of 6
(2,886 Views)

Those files are actually XML.  So you could probably figure out the changes by using a simple text diff tool.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 5 of 6
(2,877 Views)

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.

0 Kudos
Message 6 of 6
(2,872 Views)