Go to Post Common sense can take you a long way!!! - ClintDog [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 03-12-2008, 00:59
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: Version Control

Git is the most amazing thing I think have ever used. What is more brilliant is Linus himself who designed the thing for the Linux kernel in just two weeks (and released the next version of the kernel a little more then a month after). It can be a bit tricky learning Git, it doesn't use many of the same names for common operations that other revision control systems do, and there are many habits you have to break and get into, mostly due to the amazing branching and merging it can do. Decentralized is a great feature for teams, you don't have to be connected to anything to make a commit, because you are your own branch, you just commit locally and push to a public repo when you can (though setting up a system can be hard to figure out, it isn't made exactly clear). Not to mention, fast fast fast like switching to apt-get after using emerge all your life (Gentoo users will get the joke), even transferring history over a network, it can often compress and store the entire history smaller then a single SVN checkout. Git can import and export SVN too, but that isn't as great, nonetheless it works (Linux versions at least). I can track a line of code as it moved through multiple files, I love that. For additional convincing, watch http://www.youtube.com/watch?v=4XpnKHJAok8 for an overview by Linus and http://www.youtube.com/watch?v=8dhZ9BXQgc4 for a more technical look into how it is used.

The really expensive versions of LabView natively support many different types of revision control systems (it ties into Microsoft Visual Studio somehow) to support graphical equivalents of diffs and conflict resolution, but it (I am pretty sure?) doesn't come with the kit. Git is pretty good with merges, though I am not sure how well it will handle VI's (they appear to be binary files, I have never had a conflict in a binary file to resolve, but I can't imagine it would be painful to do). Additionally, if I understand correctly, LabView can save to a new file for each change you make, and tag it with your name and a date and such, but that could get really big really fast.
__________________
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)
  #2   Spotlight this post!  
Unread 03-12-2008, 07:58
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,112
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Version Control

Quote:
Originally Posted by Nibbles View Post
...I have never had a conflict in a binary file to resolve, but I can't imagine it would be painful to do...
I believe you are mistaken about the amount of effort it would take. Imagine trying to resolve differences between simple .hex files for the IFI control system.
  #3   Spotlight this post!  
Unread 03-12-2008, 18:33
whitetiger0990's Avatar
whitetiger0990 whitetiger0990 is offline
Registered User
no team
Team Role: Programmer
 
Join Date: Mar 2006
Rookie Year: 2006
Location: Earth
Posts: 157
whitetiger0990 is a glorious beacon of lightwhitetiger0990 is a glorious beacon of lightwhitetiger0990 is a glorious beacon of lightwhitetiger0990 is a glorious beacon of lightwhitetiger0990 is a glorious beacon of light
Re: Version Control

Yeah, with LabVIEW merges are impossible, but I don't really see that being a deal breaker.. We can merge by hand if needed.

<3 git
__________________
print$q=chr(ord($q)+$1)while("7443-0201-8465130105-12-03135-82482113-06-7672-070208-0613-70"=~/(-?\d\d)/g);
  #4   Spotlight this post!  
Unread 03-12-2008, 18:39
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: Version Control

Quote:
Originally Posted by Alan Anderson View Post
I believe you are mistaken about the amount of effort it would take. Imagine trying to resolve differences between simple .hex files for the IFI control system.
VI's should be simpler then a compiled file (why would you version a compiled file anyways?) because you can inspect and edit it directly, but, yeah, it turns out it is quite a bit of effort. I tested it out, merging VI's I am having a hard time with, having the native diffing tools would really help (otherwise it would be a simple edit to the repo config file specifying the path of the tools). I am also unsure if the VI may be formatted differently when moved between computers or versions of LabView. It appeared simply opening up and closing a project changed it, but Git had no problem merging this (it should be that simple for SVN too, it has a single parent). Merging different changes it got caught up with, and I can imagine this happening all throughout the build season and having to repeatedly visually inspect both versions and manually merge them by hand. Best case it could be a 15 minute task each time, still bad news. It looks like there is no good versioning system for LabView projects available to teams...
__________________
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)
  #5   Spotlight this post!  
Unread 03-12-2008, 21:37
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,748
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: Version Control

LV VIs are indeed binary, and they shouldn't be merged by external tools. The LV PDS (Pro Dev Suite) includes connections to a few external SCC tools, and an internal diff utility. It does a graph comparison looking for nodes that are considered to be the most similar, and works outward along the edges of the graph until it can describe the differences.

In other words, this is sort of like comparing lines of a file and deciding which are most similar, etc. But it is also quite different, and unless an external tool knows about the LV graph, they can store, compress, and retrieve, but should not merge.

Greg McKaskle
Closed Thread


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
What version control tool(s) do you use? EHaskins Programming 18 22-12-2007 02:14
Version Control Recommendations need Rickertsen2 Programming 12 18-12-2007 16:17
version control and linux shtylman Programming 2 01-05-2006 17:44
Version Control mtrawls Programming 13 08-12-2003 14:52
Under Control Website! New Flash Version! physicist Website Design/Showcase 11 22-02-2003 02:41


All times are GMT -5. The time now is 11:06.

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