Go to Post Whether or not you use wheel weights, if you're running a wheel at several thousand RPM, you'd better have an effective containment system to protect the outside world in case something spontaneously disassembles itself. - Alan Anderson [more]
Home
Go Back   Chief Delphi > Technical > Programming > NI LabVIEW
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rating: Thread Rating: 9 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 31-12-2008, 07:15
Nibbles Nibbles is offline
Interstellar Hitchhiker
AKA: Austin Wright
FRC #0498 (Cobra Commanders)
Team Role: Alumni
 
Join Date: Jan 2008
Rookie Year: 2003
Location: Arizona
Posts: 103
Nibbles is just really niceNibbles is just really niceNibbles is just really niceNibbles is just really niceNibbles is just really nice
C and LabView version control with Git

I noticed a number of people asking about revision control, specifically, SVN. Quick to defend my most favorite piece of software ever, Git, I whipped up a document describing how teams can implement it in their C, C++, or LabVIEW programs:

Revision Control with Git for FRC Teams

Anyone who wishes to help edit it, feel free to request permission (if there isn't a link PM me your email to add, make sure you have a Google Docs account). Also, anyone who wants to help figure out how to fit it into FIRSTwiki somehow is also welcome (see my footer).

I want to focus on the philosophy of revision control, how to best use it during the fast paced action of the build season, how to make it work with LabVIEW, and a description of the best workflow (who pulls and pushes from/to whom - I still don't have this one figured out exactly).

Suggestions, from people new to Git especially, would be much appreciated!
__________________
Help standardize match data! Use the XML interchange format. (Specification page)
AAA_awright on Freenode IRC chat. (Join us at ##FRC on chat.freenode.net, or in your browser)
Reply With Quote
  #2   Spotlight this post!  
Unread 31-12-2008, 16:22
kamocat's Avatar
kamocat kamocat is offline
Test Engineer
AKA: Marshal Horn
FRC #3213 (Thunder Tech)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 2008
Location: Tacoma
Posts: 894
kamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nice
Send a message via AIM to kamocat Send a message via MSN to kamocat
Re: C and LabView version control with Git

I noticed it has a bianaray build for Leopard (mac OS 10.5), even in PowerPC (which I didn't know there were even Leopard builds for), but it doesn't seem to have a build for Tiger (mac OS 10.4).
Will it operate only on 10.5, or will it function on both?
__________________
-- Marshal Horn
Reply With Quote
  #3   Spotlight this post!  
Unread 01-01-2009, 03:22
Nibbles Nibbles is offline
Interstellar Hitchhiker
AKA: Austin Wright
FRC #0498 (Cobra Commanders)
Team Role: Alumni
 
Join Date: Jan 2008
Rookie Year: 2003
Location: Arizona
Posts: 103
Nibbles is just really niceNibbles is just really niceNibbles is just really niceNibbles is just really niceNibbles is just really nice
Re: C and LabView version control with Git

Quote:
Originally Posted by kamocat View Post
I noticed it has a bianaray build for Leopard (mac OS 10.5), even in PowerPC (which I didn't know there were even Leopard builds for), but it doesn't seem to have a build for Tiger (mac OS 10.4).
Will it operate only on 10.5, or will it function on both?
I don't have any firsthand experience using Git on Mac OS X, but I know it does work, though I can't name any specific OS. The people I know, who I collaborate with, that use Git on Mac OS X use MacPorts. I don't know how well the OS X packages linked to on the Git homepage work at all. Let me know if you find something that works.
__________________
Help standardize match data! Use the XML interchange format. (Specification page)
AAA_awright on Freenode IRC chat. (Join us at ##FRC on chat.freenode.net, or in your browser)
Reply With Quote
  #4   Spotlight this post!  
Unread 23-12-2009, 21:01
fixermark fixermark is offline
FIRST Robotics Alumnus
AKA: Mark T. Tomczak
None #0422 (Maggie Walker Mech Techs)
Team Role: Alumni
 
Join Date: Jan 2005
Rookie Year: 2000
Location: Richmond, VA
Posts: 9
fixermark is a name known to allfixermark is a name known to allfixermark is a name known to allfixermark is a name known to allfixermark is a name known to allfixermark is a name known to all
Send a message via AIM to fixermark
Re: C and LabView version control with Git

I'm going to cross-post this document to the volunteers I work with in the Pittsburgh area, and also link to it in a similarly-themed post I plan to make to Delphi. Thank you for writing this!
__________________
"There is a solution."
Reply With Quote
  #5   Spotlight this post!  
Unread 24-12-2009, 10:24
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,752
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: C and LabView version control with Git

I'm curious if anyone has tried it with LV files yet. I've been meaning to make myself try it out, but haven't found the time. Since git it primarily command line driven, it should be pretty easy to produce a LV SCC plugin -- they are called providers in LV. Perhaps Santa will let me tinker with it over the next few days.

But again, any experiences anyone has will assist.

Greg McKaskle
Reply With Quote
  #6   Spotlight this post!  
Unread 24-12-2009, 16:31
Nibbles Nibbles is offline
Interstellar Hitchhiker
AKA: Austin Wright
FRC #0498 (Cobra Commanders)
Team Role: Alumni
 
Join Date: Jan 2008
Rookie Year: 2003
Location: Arizona
Posts: 103
Nibbles is just really niceNibbles is just really niceNibbles is just really niceNibbles is just really niceNibbles is just really nice
Re: C and LabView version control with Git

Quote:
Originally Posted by Greg McKaskle View Post
I'm curious if anyone has tried it with LV files yet. I've been meaning to make myself try it out, but haven't found the time. Since git it primarily command line driven, it should be pretty easy to produce a LV SCC plugin -- they are called providers in LV. Perhaps Santa will let me tinker with it over the next few days.

But again, any experiences anyone has will assist.

Greg McKaskle
The "software engineering tools" of LabView only appear to be available in the "Professional Development System" which as of the 2009 season teams do not get (the "Full Development System" which appears to be one step down), and iirc you said there are no plans to provide teams with these tools (as I understand the Professional version also includes tools to generate stand-alone executables which teams don't need). I did read up on the documentation on how to use those features, and added that to the document anyways, in case anyone had that version or if teams are ever able to use it in the future.

Git can't merge two different VIs without creating a conflict, so merging is almost impossible given time constraints. It also appears that simply opening and saving the file changes the data (maybe it saves a timestamp or something, I don't know). Doing any truly distributed effort is hard to do.
__________________
Help standardize match data! Use the XML interchange format. (Specification page)
AAA_awright on Freenode IRC chat. (Join us at ##FRC on chat.freenode.net, or in your browser)
Reply With Quote
  #7   Spotlight this post!  
Unread 24-12-2009, 17:43
Vikesrock's Avatar
Vikesrock Vikesrock is offline
Team 2175 Founder
AKA: Kevin O'Connor
no team
Team Role: Engineer
 
Join Date: Mar 2006
Rookie Year: 2007
Location: Manchester, NH
Posts: 3,305
Vikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond reputeVikesrock has a reputation beyond repute
Send a message via AIM to Vikesrock Send a message via MSN to Vikesrock Send a message via Yahoo to Vikesrock
Re: C and LabView version control with Git

Quote:
Originally Posted by Nibbles View Post
The "software engineering tools" of LabView only appear to be available in the "Professional Development System" which as of the 2009 season teams do not get (the "Full Development System" which appears to be one step down), and iirc you said there are no plans to provide teams with these tools (as I understand the Professional version also includes tools to generate stand-alone executables which teams don't need).
It appears teams will be getting the professional version this year according to this document from Joe Ross, detailing the Labview changes from 330's Beta Test.
__________________


2007 Wisconsin Regional Highest Rookie Seed & Regional Finalists (Thanks 930 & 2039)
2008 MN Regional Semifinalists (Thanks 2472 & 1756)
2009 Northstar Regional Semifinalists (Thanks 171 & 525)
Reply With Quote
  #8   Spotlight this post!  
Unread 24-12-2009, 19:16
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,752
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: C and LabView version control with Git

Yep, teams will be getting at least the SCC features of the pro version. The most beneficial feature of that is an integrated check-out and check-in locking. The VI files do contain some time stamps and even pointers in them, so they are not meant to be diffed outside of the LV editor. The LV editor does a graph comparison of the source and displays the objects and describes the differences. As of 8.6, I don't think merge is there or is a good implementation.

As for distributed development, Engineering firms usually seem to have ten or fewer programmers working on the same project in LV. Bigger than that and you need to isolate them into subgroups a bit. Even with that, and you need some coordination. Cowboys are a pain in the neck on any project, but can really cause issues on a LV project -- one of the tradeoffs of a graphical language.

Greg McKaskle
Reply With Quote
  #9   Spotlight this post!  
Unread 24-12-2009, 20:06
Nibbles Nibbles is offline
Interstellar Hitchhiker
AKA: Austin Wright
FRC #0498 (Cobra Commanders)
Team Role: Alumni
 
Join Date: Jan 2008
Rookie Year: 2003
Location: Arizona
Posts: 103
Nibbles is just really niceNibbles is just really niceNibbles is just really niceNibbles is just really niceNibbles is just really nice
Re: C and LabView version control with Git

Ah thanks for the updates, I briefly searched around but couldn't find anything, and consider this was written and posted about a year ago. I'll do some more research when I get my hands on the software then (unless that is already possible somehow?).
__________________
Help standardize match data! Use the XML interchange format. (Specification page)
AAA_awright on Freenode IRC chat. (Join us at ##FRC on chat.freenode.net, or in your browser)
Reply With Quote
  #10   Spotlight this post!  
Unread 01-01-2010, 15:26
Nadav Zingerman Nadav Zingerman is offline
Registered User
FRC #2230
Team Role: Programmer
 
Join Date: Jul 2009
Rookie Year: 2009
Location: Israel
Posts: 90
Nadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to behold
Re: C and LabView version control with Git

Quote:
Originally Posted by Greg McKaskle View Post
Yep, teams will be getting at least the SCC features of the pro version. The most beneficial feature of that is an integrated check-out and check-in locking. The VI files do contain some time stamps and even pointers in them, so they are not meant to be diffed outside of the LV editor. The LV editor does a graph comparison of the source and displays the objects and describes the differences. As of 8.6, I don't think merge is there or is a good implementation.

As for distributed development, Engineering firms usually seem to have ten or fewer programmers working on the same project in LV. Bigger than that and you need to isolate them into subgroups a bit. Even with that, and you need some coordination. Cowboys are a pain in the neck on any project, but can really cause issues on a LV project -- one of the tradeoffs of a graphical language.

Greg McKaskle
Are you saying LabVIEW's Merge tool isn't good enough?
Reply With Quote
  #11   Spotlight this post!  
Unread 01-01-2010, 17:49
keehun's Avatar
keehun keehun is offline
Team Captain
AKA: Keehun Nam
FRC #2502 (EP Robotics)
Team Role: Leadership
 
Join Date: May 2008
Rookie Year: 2008
Location: Eden Priaire
Posts: 474
keehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond repute
Send a message via AIM to keehun
Re: C and LabView version control with Git

What our team did was develop it in Sub-VI's. With SVN, we could at LEAST have older versions with time stamps in case there were problems with a newer build. It worked out pretty well.
__________________
For by grace you have been saved through faith, and that not of yourselves; it is the gift of God, not of works, lest anyone should boast. -- Ephesians 2:8-9
2010: Quarter Finalist (MN 10,000 Lakes)
2010: Website Award (MN 10,000 Lakes)
2009: Quarter Finalist (MN 10,000 Lakes)
2009: GM Industrial Award (MN 10,000 Lakes)
Reply With Quote
  #12   Spotlight this post!  
Unread 01-01-2010, 18:03
Tanner's Avatar
Tanner Tanner is offline
Registered User
FRC #1261 (Roblions)
Team Role: Programmer
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Suwanee, GA
Posts: 311
Tanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to behold
Re: C and LabView version control with Git

If I get any time tomorrow, I'd like to play with getting LabVIEW to work with Git. I know Austin has written something, but I want to see how it plays with 8.6

-Tanner
Reply With Quote
  #13   Spotlight this post!  
Unread 01-01-2010, 20:13
Nibbles Nibbles is offline
Interstellar Hitchhiker
AKA: Austin Wright
FRC #0498 (Cobra Commanders)
Team Role: Alumni
 
Join Date: Jan 2008
Rookie Year: 2003
Location: Arizona
Posts: 103
Nibbles is just really niceNibbles is just really niceNibbles is just really niceNibbles is just really niceNibbles is just really nice
Re: C and LabView version control with Git

Is the 2010 software already available? I assumed it isn't but I think I should ask.
__________________
Help standardize match data! Use the XML interchange format. (Specification page)
AAA_awright on Freenode IRC chat. (Join us at ##FRC on chat.freenode.net, or in your browser)
Reply With Quote
  #14   Spotlight this post!  
Unread 02-01-2010, 08:49
Tanner's Avatar
Tanner Tanner is offline
Registered User
FRC #1261 (Roblions)
Team Role: Programmer
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Suwanee, GA
Posts: 311
Tanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to behold
Re: C and LabView version control with Git

Quote:
Originally Posted by Nibbles View Post
Is the 2010 software already available? I assumed it isn't but I think I should ask.
Not yet. Our team is assisting another with the beta.

-Tanner
Reply With Quote
  #15   Spotlight this post!  
Unread 02-01-2010, 13:29
Tanner's Avatar
Tanner Tanner is offline
Registered User
FRC #1261 (Roblions)
Team Role: Programmer
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Suwanee, GA
Posts: 311
Tanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to beholdTanner is a splendid one to behold
Re: C and LabView version control with Git

Had some trouble getting the .gitconfig to like the labview merge driver path. Had to change it to this:
Code:
driver = 'C:/Program Files/National Instruments/Shared/LabVIEW Merge/LVMerge.exe' 'C:/Program Files/National Instruments/LabVIEW 8.6/LabVIEW.exe' %O %B %A %A
So far it seems to work ok with version control, though I can't seem to get the merge to do anything. It'll open lvmerge, but the changes don't see to be, well, merged. Not sure if that is lvmerge's problem, or my lack of knowledge in Git.

Haven't gotten lvdiff to work yet, not sure what is wrong with it.

Edit: Apparently, lvdiff wants arguments... Investigating...
Edit 2: Can't figure out the diff, all it says is that they differ

-Tanner

Last edited by Tanner : 02-01-2010 at 13:48.
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
2009 Control System LabVIEW Tips and Pitfalls Travis Hoffman NI LabVIEW 3 22-12-2008 11:25
LabVIEW Training and new control system demonstration 10/17-10/19 in Frazier Park, CA Joe Ross NI LabVIEW 0 25-09-2008 13:25
First problems with FTC and Labview PhilBot National Instruments LabVIEW and Data Acquisition 0 10-09-2008 20:21
Labview and communication with peripheral device help jaijaidin LabView and Data Acquisition 3 26-01-2007 19:17
version control and linux shtylman Programming 2 01-05-2006 17:44


All times are GMT -5. The time now is 22:19.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi