06-17-2016 06:45 PM
I have not used a Source Control Provider before. My hope is that I don't have to face a big learning curve in using the basic features of a source control provider.
Also curious what is the most popular provider used by LabVIEW developers.
Thank you.
Solved! Go to Solution.
06-17-2016 06:54 PM
As far as simple to figure out, I highly recommend Tortoise SVN. I currently use BitBucket with GIT and Source Tree.
06-17-2016 07:32 PM
06-19-2016 02:19 PM
If you are getting started with Subversion (Tortoise SVN is the "client" for a Subversion Server), you have a choice of three options:
I've listed them in the order of (in my opinion) "desirability". I would, myself, go to fairly great lengths to avoid Option 3, as it puts all of the "eggs in the same basket", that is, you have to take responsibility for not only keeping your code Committed/Updated to the Repository, but you need to keep the Repository safe, backed up, and "remote" (if your house burns down and the external drive holding the Repository also goes up in flames, you've lost everything).
I recently started a collaboration with a colleague in Canada. Due to institutional policies, I couldn't provide access to our local Subversion Server, but found that Assembla (www.assembla.com) offered Subversion Server access at quite a reasonable cost.
Once you have identified a Server, getting your Repository created and your Project saved in the Repository isn't too difficult. A practice I've found works well is to organize the Repository by LabVIEW Projects, one Project per Repository, with the Repository name being the name of the Project. I've adopted the trunk/branches/tags subfolder model for the Repository (that is, the Repository "Bob's Project" will have a trunk, a branches, and a tags sub-folder), with almost all of the activity taking place in the trunk. I try to almost never use branches, but that's another story.
There are a number of tools to put "hooks" into Subversion within LabVIEW. My personal preference is to do all of my Subversion work at the level of Windows File Explorer, committing and updating entire Projects at the end and beginning of work sessions (commit at end, update at beginning).
Bob Schor
06-19-2016 05:34 PM
Thank you very much for the detailed advice.
Short term I'll go for using a local dedicated server (one of your "roll your own" suggestions) - this will be a vast improvement over my past practices.
BTW - I just purchased "TortoiseSVN Beginner's Guide" from Amazon - it looks good for getting me up to speed.
06-19-2016 06:20 PM
I go with TortoiseGit on Gitlab and seems to work fine. Onyl downside is that you don't have a toolkit for git similar to svn in LabVIEW. Plus Gitlab is free and private, which is nice.
06-20-2016 02:14 AM
In one of my projects we used ProjectLocker as external code repository, it seemed quite ok.
/Y
06-20-2016 11:57 AM - edited 06-20-2016 11:57 AM
Another vote for SVN. I use VisualSVN running on a server we have access to, but it could just be any always on computer, or running from local host. The basics of it are very easy to use. Create repositories, create users (or user) and then use TortoiseSVN as the client connecting to that server. The free version does everything I need.
https://www.visualsvn.com/server/
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
06-20-2016 12:34 PM
Another vote for git. It can be serverless if you want. Gitlab is free and private, as mentioned. I have used Assembla, and it's OK, but I did find it a bit slow. I think it has a 1GB limit on their free service.
Git can also continue to work if you don't have access to the server. This has happened to me on customer sites, but even if my network goes down, I can still use it.
The Tortoise clients make it very nice and easy to use any of the major open source SCC's. Just integrates into explorer, and you don't have to memorize all the commands. For most day-to-day stuff, you won't need anything else. There have been a few times were I had to open up a bash window and manually do some commands to fix a problem.
I used the built-in LabVIEW provider with Perforce I believe and found the whole experience a bit clunky some years ago.
06-20-2016 01:13 PM
@Matthew_Kelton wrote:
I used the built-in LabVIEW provider with Perforce I believe and found the whole experience a bit clunky some years ago.
It hasn't changed. There does exist an explorer plugin for Perforce that makes some of the basic operations work semi-easily like it does with the tortoise clients.
https://www.perforce.com/product/components/perforce-plugin-windows-explorer
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord