07-15-2015 03:36 PM
Hello,
I'm currently using TortoiseSVN for change control management of code. A rare, but too common, issue we face is that someone has uncommitted code on their machine.
We've developed some code to email notify the CORE team when uncommitted code is detected on a machine. We're able to identify which files have modifications, but we're looking to take it a little further and determine what the differences are; preferably between the repository version and local version if you are familiar with SVN.
I'm familiar with FileDiffer.exe, and have it linked easily to diff files in the TortoiseSVN GUI, but I'm looking for a way to do this and generate a dif report progammatically.
Does anyone know of a way to launch and programmatically generate a comparison report without use of aGUI? Or if there is another tool or method out there capable of diffing LabVIEW files, please give suggestions.
-----------------
I've come up with the following options but have not identified a concrete way to generate a comparison report so far.
07-16-2015 08:55 AM
Maybe not a full solution, but here is a discussion on LAVA about using the compare programatically and getting text generated describing the changes.
https://lavag.org/topic/18941-compare-two-vi-s-without-human-interraction/
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
07-16-2015 08:56 AM
Going to TortoiseSVN saved me (mostly) from LabVIEW VI "Version Hell", once I learned to discipline myself to "Always Commit at the End of the Day (or Work Session), and Always Update before starting work". [At worst, this wastes a few seconds while Subversion says "Nothing was changed", but when there are changes, it really saves you].
Once you are faced with two VIs with the same name but (unknown) internal differences (for example, when doing an Update, Subversion signals conflicts), you then have to (mainly manually) compare the two LabVIEW Versions, see where they differ, then decide which Version you want to keep.
In the case of Subversion Conflicts, here is a trick that I use that saves a lot of time: Suppose MySubVI is the one with a Conflict on Updating. You will have three VIs with Conflict symbols: MySubVI.vi, MySubVI.vi.r2345, and MySubVI.vi.r2358 (the last extensions are just examples, but they represent the Revisions from which the VIs come). As you probably know, the Compare Tool in LabVIEW requires its two arguments to have different names. So I proceed as follows:
Hope this is helpful.
Bob Schor