LabVIEW Development Best Practices Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

What Source Code Control Are You Using?

I'm a big fan of source code control.  I try to keep everything from LabVIEW code, to drafts of papers, and even PowerPoint presentations in source code control.  As a result, it's been years since I last had that heart-sinking feeling of "oh-no... I lost that document"

All the work we do at NI is managed in Perforce, but last week I had some free time and decided to make the switch to TortoiseSVN on my laptop to see what all the excitement is about.  The switch inspired me to ask you, the community, what you're using and what your experience has been in the hopes of learning more and getting insights into what we can do better.

So, what source code control do you like?  Do you use the integration tools with LabVIEW?  Any other thoughts or details you have to share?  We're listening!

Elijah Kerry
NI Director, Software Community
0 Kudos
Message 1 of 32
(16,253 Views)

My company was using Microsoft VSS as that's what our adjacent group (which heavily uses VB) was involved with.  We weren't very happy with the integration to LabVIEW, especially when we had people on the road who were unable to access VSS.  We are now using TortoiseSVN with PushOK and are much happier.  There are still issues we deal with, but being able to identify bugs in the field, download the latest version, make changes, compile and check it all back in all while sitting in the hotel has been a definite plus for us.

Tim

0 Kudos
Message 2 of 32
(4,455 Views)

I have customers using MS VSS, Tortoise SVN, and Perforce.

I personally am a big-time convert to source code control. Once the configuration is complete, the LabVIEW Integration works like a charm. As someone who mainly spends his time with LabVIEW doing rapid development with loosely-defined and changing requirements, being safe in the knowledge that I can always roll back massive changes is helps me sleep at night.

Is there a discussion on Unit Testing and the UTF? I would be very interested in learning where NI is headed with the UTF in the future. Specifically, I'd love to hear what thoughts are out there on ways to quicly develop test vectors.

0 Kudos
Message 3 of 32
(4,456 Views)

We are currently transitioning from VSS to SVN.  The integration between LV and VSS is terrible and I turned it off and advised everyone else here to do the same.  Once SVN is up, I'll try the LV integration with it again.  I was incredibly spoiled at NI by using Perforce; it's by far the best tool but unfortunately not what we've standardized on here.

0 Kudos
Message 4 of 32
(4,456 Views)

On a related note, how many of you currently use the graphical differencing with source code control to identify changes?  Are their any specific changes or improvements you would like to see in that feature?

Elijah Kerry
NI Director, Software Community
0 Kudos
Message 5 of 32
(4,456 Views)

We use Subversion with TortoiseSVN.  For LabVIEW we handle all version control operations through the TortoiseSVN interface, not via LabVIEW integration.  (This works well for us, but we are hoping NI will soon implement an interface to Subversion via the Subversion command line client rather than PushOK's interface.  Another tool we use, Enterprise Architect--great UML tool and more, by the way--interfaces to the Subversion command line client in this way so that we use EA's interface to handle version control and it works well.  We actually set up the initial folder with TortoiseSVN and then the icon overlays update as we make changes in EA.)

For LabVIEW we have set up TortoiseSVN to use lvdiff.exe, which passes the relevant files in the repository to LabVIEW's native graphical differencing tools.

I think using a LabVIEW interface to Subversion might provide some benefits, actually, including an ability to make locking files and checking lock status simpler for those who use a locking model.  This is possible with TortoiseSVN, but a LabVIEW interface might be able to make this a little simpler.  Also merging might be a little simpler via a LabVIEW native interface.  I'm not sure, though.  I'd have to see it!  (It would be good to be really clear what the results of a merge operation would be.)

In any case implementing version control has had a very positive effect on our file management and even our productivity.

Paul

0 Kudos
Message 6 of 32
(4,456 Views)

My project (800 VIs, 4 developers) is about to move to into source control using AccuRev. It is mandated by our project (National Ignition Facility) because the Java and Ada-based systems use it (1M lines of code, >100 developers). We even have 3 administrators for AccuRev... Apparently, it doesn't play nearly as nicely with LV as Perforce and the others, but I'm about to find out!!

0 Kudos
Message 7 of 32
(4,456 Views)

Subversion with TortoiseSVN (on windows) or SmartSVN (on mac and linux).

0 Kudos
Message 8 of 32
(4,456 Views)

We use TortoiseSVN or Command-line SVN without any Labview integration.  I have been meaning to try the LabVIEW option for not saving any automatic changes, but for now we are just being careful.  We try to separate commits where there are actual changes from ones with only automatic changes, so that we can do a better job of merging.

0 Kudos
Message 9 of 32
(4,456 Views)

I am also using Subversion and TortoiseSVN without LabVIEW intergration. For hosting, I decided on assembla.com.

0 Kudos
Message 10 of 32
(4,456 Views)