I need to compare two almost-identical folders of VIs (two versions of the same project) to see which VIs are "substantially the same" and which are different. There's a Command Line utility, LVCompare.exe, that has much of the functionality of the LabVIEW Compare Tool -- indeed, it has additional switches to allow you to ignore cosmetic changes in your Block Diagram so you can move a wire without it saying the VI is different. One serious drawback to this utility, however, is that it has no "return code" -- you have to actually look at the Compare screen and note if there are 0 Differences (or not).
However, using a command-line utility when you want to compare, say, 1000 VIs is painful, particularly in the absence of a "Same?" switch. I would like to have something like an Invoke Node, to which I could wire references to the two VIs I want to compare, perhaps a boolean input to control whether or not the utility was "interactive" (it would be nice to turn off the "comparison view" if I was just going to "batch process" a lot of files), six booleans for the six LVCompare switches, and a boolean Same? outout. With this, an enterprising user could easily cook up a nifty utility to help maintain multiple versions of LabVIEW code, noting which VIs are the same and which are different.
As it happens, exactly such a User Interface node to the LV Compare utility appears to exist, but is not "publically available". As noted above, making it available would make the LabVIEW Compare tool truly useful -- as it currently stands, there really is no other way to easily tell if two VIs are, or are not, "substantially" the same, due to the binary nature of VIs and the tendency to recompile them even when nothing appears to change. Thus a simple "binary compare" or "date/time compare" won't do the trick.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Any idea that has received less than 4 kudos within 4 years after posting will be automatically declined.