Copyright © 2011, G System Solutions LLC
All rights reserved
PM on LAVA
Issue Reporting or Feature Requests:
Report under LVMergeHG project
Due to the nature of this package it does not contain source code (it will not run as source code). For those interested in obtaining the source code for their own builds please contact me via PM and I will point you to the location of a public mercurial repository.
LVMergeHG will enable users to perform multiple file merges with Mercurial either directly or through a client like TortoiseHG.
It is configured as an external merge program for LabVIEW files that can be merged with LabVIEW's built in merge tool (LVMerge).
1. Mercurial waits for an external merge program to exit before it will continue to the next merge item. LVMerge exits and launches a separate merge utility before a merge is completed. LVMergeHG acts as a buffer between Mercurial and LVMerge and waits until the LabVIEW merge is complete before it closes.
2. Mercurial downloads merge files in directories other then the target directory. LVMergeHG moves the temporary files into the target directory and removes them when finished. Note: This feature may not be needed if separating compiled code from source in LabVIEW.
3. LVMerge does not handle a two way merge automatically. LVMergeHG asks the user to pick which version (mine or theirs) to use as a base version and uses the selected items when calling LVMerge.
4. LVMerge does not auto select the version of LabVIEW to use for merging the vi's selected. LVMergeHG tells LVMerge which version to use based on the version used to last save the vi.
If the exact version is not found LVMergeHG will find the next highest version of LabVIEW to use. ***See caveat 4 below.
1. LVMergeHG uses LVMerge so a LabVIEW license that supports LVMerge is required (LabVIEW Professional Development System and above).
1. Install Mercurial first. LVMerge installation will try to configure LVMergeHG's settings on installation, but it can be reconfigured at any time using ConfigureLVMergeHG.
2. Set VI settings to remove compiled code from source. LabVIEW won't require sub vi's to be present at the time of merging when this is set (no search windows).
1. LVMergeHG does not override some of Mercurial's automatic merge decisions.
You have a vi in one branch that hasn't changed since the base and you deleted it in another branch.
You merge the two branches and Mercurial will assume you want to delete the file without asking because that is the only change.
LVMergeHG sets the premerge configuration to false, although this doesn't seem to effect this merge decision.
Solution is still in development.
2. LVMergeHG is only supported on Windows Operating systems (XP, VISTA, Windows7).
3. LVMergeHG has only been tested with LV2010 although it will most likely work in other versions.
4. LVMergeHG tries to set the version of LabVIEW that LVMerge will use based on the version read from the vi.
However if two versions of LabVIEW are open LVMerge doesn't seem to load the compare in the correct version.
It is safest to only have the version of LabVIEW open that you want to use or not have any version of LabVIEW open.