08-20-2019 07:26 PM
On the Recommended Source Code Control Providers for LabVIEW it shows Git is in the list of "source control providers that have been tested for integration and basic functionality with the LabVIEW". Has anybody been able to get this to work? Or maybe this is a typo?
08-20-2019 10:09 PM
I'm pretty certain git wasn't listed on that page the last time I looked at it (which may well have been a year or two ago). Maybe they're finally adding official support? Or maybe they are just affirming that git will store LabVIEW filetypes?
08-21-2019 09:35 AM - edited 08-21-2019 09:50 AM
That list specifically refers to integrated support using Tools > Source Control (which uses the Microsoft SCC API). Otherwise, plain SVN specifically would be on that list.
08-21-2019 08:48 PM
@NathanJD wrote:
On the Recommended Source Code Control Providers for LabVIEW it shows Git is in the list of "source control providers that have been tested for integration and basic functionality with the LabVIEW". Has anybody been able to get this to work? Or maybe this is a typo?
I use bitbucket (sourcetree client) and it does not appear as a selection under Tools >> Options >> Source Control >> Source Control Provider Name (LV 2018 32-bit v18.0.1f2 SP1)
08-24-2020 05:14 AM
I also read this KB article just some weeks ago and made the mistake to believe it re GIT.
Trying it out, there was no sign of any integration. I contacted NI support complaining.
Learned that for the integration to work, the SCC must provide an interface using the "Microsoft SCC API", which GIT and the usual frontends don't.
This, however, is not mentioned on the page you were citing.
Additional software is needed for that, which will cost you. And then there are several additional problems using LVcompare and LVmerge together with GIT or one of its frontends...
All of that is certainly NOT what one expects reading that GIT is one of the "source control providers that have been tested for integration and basic functionality with the LabVIEW".
Only days after my recent complaints about that, I think the text of that KB had been changed with respect to that sentence (although not sure about that), and when I wanted to look at that page again just a minute ago, that KB article was GONE altogether (maybe for good, maybe because it is in the process of being rewritten?).
I'm still not very impressed about that "tested" level of integration of GIT into LV in the year 2020, to put it mildly.
As I learned, many individuals have created tools and tips how to get things going nevertheless -- but without NI's participation and now there are enough that one wonders WHAT to use and how.
Is anyone able to give clear advise what tools to use so that the integration finally would work as expected?
Thanks in advance...
08-24-2020 06:59 AM
Hello, I successfully achieved it with the information from Delacor by Fabiola de la Cueva:
http://delacor.com/configuring-hg-or-git-to-use-labview-compare-and-labview-merge/
There are more info about it:
Sam Taggart has this repo:
https://github.com/smithed/vicompare
hope it helps.
08-24-2020 09:19 AM
that is not actually my repo.
You probably picked that up from one of my blog posts where I mentioned it. That repo was put together by Daniel Smith at NI. Perhaps I should have been clearer in the original post.
08-24-2020 09:23 AM
@MKr wrote:
As I learned, many individuals have created tools and tips how to get things going nevertheless -- but without NI's participation and now there are enough that one wonders WHAT to use and how.
Honestly the short answer to your question is don't bother integrating SCC within the LabVIEW IDE. Just manage SCC outside of LV. That is what most people do. It works quite well. It also opens lots options to use whatever GUI or CLI tools you would like. Yes it's not ideal in that you do have a bit of a context switch, but the majority of the LV community uses that strategy quite successfully.
08-24-2020 09:39 AM
Honestly that's a safer bet overall, since for operations like GIT SWITCH LabVIEW can be left in an inconsistent state (in my setup it isn't notified that files have changed on disk, so it doesn't realize it needs to re-load them).
My setup is using TortoiseGit for most of the actual repo operations, and using lv_tortoisegit (modified to fix a couple bugs) to see status of the repo within LabVIEW, and allow quick-committing of changes to individual files. lv_tortoisegit will try to work-around the problem with GIT SWITCH by forcing the project to close and re-open, but the method used isn't perfect (it can get stuck if you have any unsaved changes before SWITCHing, for instance). But generally it gives me a good overview of the project and repo.
Note that I haven't had any issues getting compare and merge functions to work (there are some changes required within TortoiseGit settings to get them working correctly but they were straightforward for me).
08-24-2020 09:41 AM
Yes you do have to be very careful when switching branches!