LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LVMerge hangs when attempting merge, no useful error information

Hi all,

 

I'm trying to integrate the LVMerge tool in LabVIEW 8.6 into Mercurial, and I'm having a lot of trouble trying to get LVMerge to run without hanging.  I've captured the output of Mercurial during a merge operation, and have been trying to massage it to appease LVMerge.  If I enter the following on the command line in Windows XP SP3:

 

"C:\Program Files\National Instruments\Shared\LabVIEW Merge\LVMerge.exe" "C:\Program Files\National Instruments\LabVIEW 8.6\LabVIEW.exe" "c:\docume~1\brettp~1\locals~1\temp\browse.vi~base.0pj8vb" "c:\docume~1\brettp~1\locals~1\temp\browse.vi~other.ii4s7h" "C:\temp\_Merge\Dialog\browse\browse.vi"

 

the LVMerge tools runs, launches LabVIEW then I see the following after a short pause:

 

LVMerge Core.vi

 

The full text of the error message is:

Invoke Node in NI_promergevis.lvlib:Merge Open VI.vi->NI_promergevis.lvlib:LVMerge Core.vi
<APPEND>
Method Name: <b>User Interaction:Merge Load VI</b>

 

If I run the Merge tool from within labview and enter the same paths, it runs ok so I believe that the file paths are valid

 

Brett

Senior Software Development Engineer
Certified LabVIEW Architect and LabVIEW Champion
https://theLonelyAnt.com
https://GDevConANZ.org.au


0 Kudos
Message 1 of 5
(4,243 Views)

Hi Brett,

 

If the paths are working when you use LVMerge from LabVIEW, then there must be something incorrect with the way you're configuring the arguments that the source control needs. I'm not familiar with Mercurial, but I imagine there must be specific information on the argument configurations that are necessary. From the LabVIEW side, it looks like you're supplying all the necessary information. I agree that the error information is unuseful. We've already received a number of suggestions to improve the LVMerge error messages. I know R&D is working on that. The best advice I can give right now is take a close look at the Help File on this topic to make sure you didn't miss anything small, and check with the Mercurial source control documents for information on the argument configurations.

Product Support Engineer
National Instruments
0 Kudos
Message 2 of 5
(4,195 Views)

Thanks for the reply LaRisa

 

Without using mercurial at all, I can call LVMerge from the DOS command line using the following:

 

 "C:\Program Files\National Instruments\Shared\LabVIEW Merge\LVMerge.exe" "C:\Program Files\National Instruments\LabVIEW 8.6\LabVIEW.exe" "c:\docume~1\brettp~1\locals~1\temp\browse.vi~base.0pj8vb" "c:\docume~1\brettp~1\locals~1\temp\browse.vi~other.ii4s7h" "C:\temp\_Merge\Dialog\browse\browse.vi"

 

which conforms to the format in the help on LVMerge, which is  LVMerge.exe <labview path> <base> <theirs> <mine>.  This generates the error mentioned above.

 

If I enter the paths, as they appear in from the command line above, into LVMerge using its gui rather than the command line, it works correctly. Based on this, it looks as though there is a problem with the command line interface of LVMerge

 

Brett

Senior Software Development Engineer
Certified LabVIEW Architect and LabVIEW Champion
https://theLonelyAnt.com
https://GDevConANZ.org.au


0 Kudos
Message 3 of 5
(4,176 Views)

Hi Brett,

 

I tested LVMerge from the cmd prompt, using the <LVMerge.exe> <LabVIEW> <base> <theirs> <mine> paths as you said and got the same error you were seeing. Then, I read the Help File again and saw that there is one input that's required: path to which to save the new VI. When this is run directly from LabVIEW, I imagine that path is created for you, but it seems that with the cmd prompt method, it's definitely a required input. The only "optional" input with this method is the LabVIEW version path. Add the <merged vi> cmd line, and you should be good to go!

Product Support Engineer
National Instruments
0 Kudos
Message 4 of 5
(4,139 Views)

Here is some code I used to get LVMerge working with Mercurial

[merge-tools]
LVMerge.args = $base $other $local $output
LVMerge.executable = C:\Program Files\National Instruments\Shared\LabVIEW Merge\LVMerge.exe
LVMerge.gui = True
LVMerge.binary = True
[merge-patterns]
**.vi = LVMerge
**.ctl = LVMerge
**.lvclass = LVMerge
**.xctl = LVMerge
**.lvlib =LVMerge

Ton
Message Edited by TCPlomp on 27-03-2010 01:58 PM
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
0 Kudos
Message 5 of 5
(3,872 Views)