From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Selecting Git as source control provider

Solved!
Go to solution

After installing LabVIEW 2019 and Git I want to select Git as my Source Control Provider for my project. The dropdown menu only states < None >. 

Follwing the information within Configuring SourceControl stating LabVIEW scans the Windows registry 

A possibility is that the Git installation is not added (corectly) to the registry. Is there a way to check if this is the case?

 

 

 

0 Kudos
Message 1 of 8
(5,814 Views)

I was about to say it is not supported to integrate into the project view, then I saw that it actually should be according to this

 

But I would recommend using SourceTree for managing SCC. LabVIEW's project view is not very good at it. 

 

There is at least one Git-plugin that operates from within LabVIEW, but the one I know of is not free.

 

I would also recommend googling for "Git LabVIEW"

Certified LabVIEW Architect
Message 2 of 8
(5,794 Views)

@thols wrote:

But I would recommend using SourceTree for managing SCC. LabVIEW's project view is not very good at it. 


SourceTree works, TortoiseGit can be used, so can (to some extend) TortoiseSVN (GIT is a SVN client).

 

All three can coexist and usage can be mixed.

 

All work from Windows explorer, not from the LV Project explorer. Frankly, that is enough for me.

 

TSVN might work. It's intended for SVN, but might suffice for GIT. Probably not a thing to test unless you're an expert on GIT, SVN and TSVN. Or ask the creator...

0 Kudos
Message 3 of 8
(5,783 Views)

wiebe@CARYA wrote:
...
SourceTree works, TortoiseGit can be used, so can (to some extend) TortoiseSVN (GIT is a SVN client).

Yes. I use TortoiseSVN for diffing LV-files (and occasional other stuff that SourceTree is not good at, or I dont know how to do in SourceTree). For some reason, diffing from SourceTree loads my VIs with broken sub-VIs while TortoiseGit handles it well. I'm sure there is something simple about it but I havent bothered digging around since TortoiseSVN works so well for that.

Certified LabVIEW Architect
Message 4 of 8
(5,766 Views)

Thank you for your reply. I will look into the suggested Git Clients. Other question (which should perhaps be in another topic) How does the diffing works? Normaly I can see differences in programming lines, LabVIEW being graphical it does not show me insertions of deletions although it was updated. How to properly check the differences and merges of code bases. 

0 Kudos
Message 5 of 8
(5,747 Views)

@JeroenDV wrote:

Thank you for your reply. I will look into the suggested Git Clients. Other question (which should perhaps be in another topic) How does the diffing works? Normaly I can see differences in programming lines, LabVIEW being graphical it does not show me insertions of deletions although it was updated. How to properly check the differences and merges of code bases. 


That is a matter of configuration (1st hit on google "LabVIEW compare and merge", btw):

http://delacor.com/configuring-hg-or-git-to-use-labview-compare-and-labview-merge/

 

LV comes with a command line tool, allowing comparing and merging VIs. I'd avoid it as much as possible though. It's not as straight forward as with text languages.

 

3rd hit on google, for a more verbose version on sourcetree:

https://endigit.com/2017/11/using-labviews-diff-tool-sourcetree

Message 6 of 8
(5,733 Views)
Solution
Accepted by topic author JeroenDV

wiebe@CARYA wrote:
... I'd avoid it as much as possible though. It's not as straight forward as with text languages.

I would say that diffing works great, but merging doesn't work. Merging seems to load 4 instances of the complete project or something like that, while diffing only loads what is needed. But diffing from TortoiseSVN works like a charm. If I remember correctly, diffing can be setup so that unimportant stuff like position changes is ignored. But diffing will rarely be needed. I use it to check what I changed or what someone else changed when I need to understand why something works differently than before, almost never do I need to merge. And since LabVIEW generally has less code per file than text-based languages (LabVIEW: normally 1 method, e.g. C#: normally one class), merging should not be needed. 

Certified LabVIEW Architect
Message 7 of 8
(5,691 Views)

Although both of you where verry helpfull, I will use GIT outside of LabVIEW and just use diff where needed. I am not working on big / long projects jet so I have to find out how the diffing will work and if it would work well. 

 

Thanks for the input.

0 Kudos
Message 8 of 8
(5,610 Views)