Jump to content

How to use meta-diff and LVdiff from with in TortoiseSVN successfully


Recommended Posts

Hi fellow labviewers

I am trying to use both meta-diff and LVdiff with TortoiseSVN without success and I wonder if you could help me.

I have installed metadiff in its default directory C:\Program Files\meta-diff

lvdiff is also in the same directory

Labview 8.0 Professional is in its default directory C:\Program Files\National Instruments\LabVIEW 8.0

The .lvdiff file contains the following lines only:

pathToLV=C:\Program Files\National Instruments\LabVIEW 8.0

pathToLVDiff=C:\Program Files\meta-diff

The .metadiff file contains the following lines:

*.vi C:\Program Files\meta-diff\lvdiff.exe

*.* C:\Program Files\National Instruments\LabVIEW 8.0\LabVIEW.exe

In TortoiseSVN>Settings>Advanced>

Extension is set to .vi

and Program is set C:\Program Files\meta-diff\metadiff.exe %base %mine

I have 2 folders under TortoiseSVN control.

C:\LV SVN test and C:\LV Repository, both contain a vi called Registers.vi

I select Registers.vi from C:\LV SVN test folder and use from the Context menu "Link for metadiff"

the go to C:\LV Repository and select Registers.vi and use from the Context menu metta-diff with "Registers.vi"

A dialog box appears with the message "The file C:\Documents and Settings\dimitris\Files\National is not a valid Labview File" if I OK this box, I get another dialog box with the same message again.

If I OK the second dialog box, lvdiff runs and displays correctly

"Comparing

C:\LV Repository\Registers.vi

and

C:\LV SVN test\Registers.vi"

But it opens only one Registers.vi and does not show the differences (there are differences ) between the two versions.

Is there something else I have to setup? Any advise would be greatly appresiated.

Many Thanks

Dimitris

Link to comment

First of all, if you are using TortoiseSVN, you don't need metadiff -- TortoiseSVN, can be configured on a per file extention (type) basis, as shown in the following image:

post-17-1138371954.png?width=400

Secondly, I don't think that that you can compare two VIs with the same name, using lvdiff -- LabVIEW has a problem with loading two VIs into memory, with the same name. You should try using the Tools>>Compare>>Compare VI Hierarchies tool -- this can handle comparing two VIs with the same name.

post-17-1138372572.png?width=400

Link to comment

Hi Jim,

Thank you for the reply.

I used mettadiff because I liked the idea of selecting the two files to compare from the explorer. Is it possible to do this using lvdiff only? (Without using the command line).

I have configured TortoiseSVN as you suggested, on per file type, and it shows the difference between the two vis but I still get the 2 dialog boxes (see below)

Dialog box 1 "The file C:\Documents and Settings\dimitris\Files\National is not a valid Labview File" if I OK this box, I get another dialog box with the same message again.

If I OK the second dialog box, lvdiff runs and displays correctly

For some reason some paths are not passed correctly to lvdiff application.

Any further ideas?

Thanks again

Dimitris

Link to comment
Hi Jim,

Thank you for the reply.

I used mettadiff because I liked the idea of selecting the two files to compare from the explorer. Is it possible to do this using lvdiff only? (Without using the command line).

I have configured TortoiseSVN as you suggested, on per file type, and it shows the difference between the two vis but I still get the 2 dialog boxes (see below)

Dialog box 1 "The file C:\Documents and Settings\dimitris\Files\National is not a valid Labview File" if I OK this box, I get another dialog box with the same message again.

If I OK the second dialog box, lvdiff runs and displays correctly

For some reason some paths are not passed correctly to lvdiff application.

Embedded space problems!! The path to the files should be enclosed in double quotes. Now where is the problem? lvdiff? shell extension configuration??

Rolf Kalbermatter

Link to comment

Hi Rolf, I am confused with your reply.

Are you asking a question or are you giving a solution to the problem. If it is the later please provide more details. How or where do I insert double quotes around the path to the files. As a user I can only click to select the files to compare? Remember I am using meta-diff from within the explorer and not from the command Line. Many thanks Dimitris

Link to comment
Hi Rolf, I am confused with your reply.

Are you asking a question or are you giving a solution to the problem. If it is the later please provide more details. How or where do I insert double quotes around the path to the files. As a user I can only click to select the files to compare? Remember I am using meta-diff from within the explorer and not from the command Line. Many thanks Dimitris

I'm posing a possible explanation to the problem. It seems that your error message contains a path that is only partly complete (breaking at the space in National Instruments). Obviously at some place the path construction is not done correctly and if you pass a path to a command line tool containing spaces and that path is not embedded in double quotes the command line tool will see the path as multiple command line arguments resulting in each argument to be an invalid path.

I wasn't saying that this is something you did wrong but that it is something with lvmetadiff and or other tools involved. Since they are however all Open Source and available in source code there is no reason why you shouldn't be able to go and try to fix the problem for yourself.

Rolf Kalbermatter

Link to comment

Hi Rolf, thank you for your reply.

If mettadiff was a Labview code I would definitely have a go and fix the problem myself, but as I do not posses any C++ software packages and my knowledge of C++ is limited, I thought it would be far easier and quicker for the current developer(s) of mettadiff and tools, to fix the problem.

I hope you possible explanation to the problem will speed things up and see a fix on the http://meta-diff.sourceforge.net/ site soon. Thanks again.

Dimitris

Link to comment
I used mettadiff because I liked the idea of selecting the two files to compare from the explorer. Is it possible to do this using lvdiff only? (Without using the command line).

Try starting Compare VI Hierarchies and then, from Windows Explorer, find the first file you are interested in comparing and drag the icon of that file from the Explorer window over the "First VI Hierarchy:" box and drop it there. The path to the file should then load into the box (which is actually an ordinary LabVIEW path control). Repeat for the second VI of interest and the second box. The drag-&-drop you can do with path controls makes this quite easy.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.