Go to Post FIRST isn't chaotic; the rest of the world just moves in slow motion! - StephLee [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 28-12-2008, 12:35
nathanww nathanww is offline
Hacker
FRC #1678 (Citrus Circuits)
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2007
Location: Davis, CA
Posts: 224
nathanww is just really nicenathanww is just really nicenathanww is just really nicenathanww is just really nice
To SVN or not to SVN?

Hello all,

One of the things that I'm trying to decide about programming this year is whether or not our team is going to use subversion. We're probably talking about 2-3 programmers. In previous years, we haven't used it--but last year the code got nigh-impossible to manage(we had like 7 or 8 projects with names like "Lario Kario final PID") and one situation where someone accidentally downloaded the code for a different robot at a practice day(making one of the chains fall off)

Anyway, I was wondering what experiences people here have had with subversion. None of us has actually used it before--is it difficult to learn? And how much value would it be to a team of this size?
  #2   Spotlight this post!  
Unread 28-12-2008, 13:23
NickE's Avatar
NickE NickE is offline
_
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Mar 2008
Rookie Year: 2008
Location: San Jose, CA
Posts: 620
NickE has a reputation beyond reputeNickE has a reputation beyond reputeNickE has a reputation beyond reputeNickE has a reputation beyond reputeNickE has a reputation beyond reputeNickE has a reputation beyond reputeNickE has a reputation beyond reputeNickE has a reputation beyond reputeNickE has a reputation beyond reputeNickE has a reputation beyond reputeNickE has a reputation beyond repute
Re: To SVN or not to SVN?

I'm not a programmer, but from what I've heard on these threads, using a Subversion-based system really adds many advantages, even to a team of just one programmer Here's some of the advantages I see in a Subversion system.

For Code Backup:
i think Austin said it quite nicely in an earlier thread:
Quote:
Originally Posted by AustinSchuh View Post
I would argue that version control is good for your situation too. I use it for individual projects where I am the only guy working on things. That way, every time your code gets checked in, it gets backed up, and you can go back to that place in time if you run into a problem. I consider myself to be pretty good at programing, and I have still used revision control a couple of times now to figure out what I changed between right now and a couple of minutes ago that caused my code to stop working. It probably saved me a couple of hours. For me, it has gotten to the point where when I work on a piece of code and it isn't in a revision control system, I actually feel uneasy until I have put the code in a revision control system.
For Code Management Between Multiple People:
If there is any time in which multiple people are working on the same code, I see a benefit for a SVN system. I've never used one, but I would imagine that it would be much easier than manually merging code.

In conclusion, you may never think that you would need a Subversion system, and in actuality you probably don't need one. However, it is certainly a great thing to have that can help your team of programmers immensely.
  #3   Spotlight this post!  
Unread 28-12-2008, 13:31
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: To SVN or not to SVN?

Quote:
Originally Posted by nathanww View Post
Hello all,

One of the things that I'm trying to decide about programming this year is whether or not our team is going to use subversion. We're probably talking about 2-3 programmers. In previous years, we haven't used it--but last year the code got nigh-impossible to manage(we had like 7 or 8 projects with names like "Lario Kario final PID") and one situation where someone accidentally downloaded the code for a different robot at a practice day(making one of the chains fall off)

Anyway, I was wondering what experiences people here have had with subversion. None of us has actually used it before--is it difficult to learn? And how much value would it be to a team of this size?
It is not very difficult to learn at all. Version control can be very useful even if you only had a single programmer; in that case it would be used only for versioning and not for merging.

I will personally be advocating that my team use some type of version control this year even though we are using Labview and will not be able to take advantage of merges.

We had a situation last year that it would have been VERY helpful to revert to a previous code version but the new version was saved over the old version.
__________________


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)
  #4   Spotlight this post!  
Unread 28-12-2008, 18:05
Gamer930's Avatar
Gamer930 Gamer930 is offline
Team 930 and 171 Alumni
AKA: Justin
no team
Team Role: Alumni
 
Join Date: Mar 2002
Rookie Year: 2002
Location: New Berlin, WI
Posts: 388
Gamer930 is a splendid one to beholdGamer930 is a splendid one to beholdGamer930 is a splendid one to beholdGamer930 is a splendid one to beholdGamer930 is a splendid one to beholdGamer930 is a splendid one to beholdGamer930 is a splendid one to beholdGamer930 is a splendid one to behold
Re: To SVN or not to SVN?

Subversion or some other version control is used in Companies every day. It can be used for software all the way to CAD designs.

There has been some topics about SVN hosting lately:
http://www.chiefdelphi.com/forums/sh...threadid=70845
http://www.chiefdelphi.com/forums/sh...threadid=70865
http://www.chiefdelphi.com/forums/sh...threadid=70013

SVN is really nice if you have multiple programmers and working in different locations. If you always keep the latest version on the server you can get it from any computer that has the Subversion software. The subversion software is all open source.

Do Note: you will read about the SVN Merge feature. This will not work well if you are using Labview Programming. If you are using C/C++ code the merge feature works great because it is text based.

There are some Explorer based systems like TortoiseSVN.
There are also some great GUI based systems like RapidSVN.
If you have a server you can easily setup a server using VisualSVN Server Edition.

If you have any more specific questions feel free to IM/E-Mail/PM me and I can answer them. I have been using SVN for almost 4 years now.
__________________
2010 to Present, Scorekeeper/Field Power Volunteer for FRC/FTC/FLL
2005 - 2010, Team 171 College Mentor
2002 - 2005, Team 930 Student
  #5   Spotlight this post!  
Unread 29-12-2008, 00:56
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: To SVN or not to SVN?

To Git!

I've tried CVS. I've tried SVN. But I've fallen for Git.

Last year the Windows clients left a lot to the imagination, but now msysgit works wonderful, GUI included.

What I really like about it is that a central server is not needed. At school we cannot push commits up from our programming computer and we cannot use the school computers for programming. Git is lovely.

Branching is a breeze, commiting, cloning, everything. I don't have much experience with merging, and I don't imagine I will since we are using LabVIEW this year which pretty much eliminates the possibility of merging (binary files).

If you decide to poke around with it, you can PM me or send me an email. I'll be glad to help.

A way to manage code is a necessity! For years we just kept making copies of the project folder.. and didn't name them well. D=

http://code.google.com/p/msysgit/
http://en.wikipedia.org/wiki/Git_(software)
__________________
print$q=chr(ord($q)+$1)while("7443-0201-8465130105-12-03135-82482113-06-7672-070208-0613-70"=~/(-?\d\d)/g);
  #6   Spotlight this post!  
Unread 05-01-2009, 00:16
CapnKernel CapnKernel is offline
Parse Error on line: Unknown
FRC #1515 (MorTorq)
Team Role: Programmer
 
Join Date: Dec 2007
Rookie Year: 2008
Location: Beverly Hills
Posts: 13
CapnKernel has a spectacular aura aboutCapnKernel has a spectacular aura about
Re: To SVN or not to SVN?

Git all the way as well!

Works on windows now, best source control for mac and linux, it's distributed, and much cleaner than subversion's .svn directories.

If you're going for version control, I strongly suggest git.
  #7   Spotlight this post!  
Unread 06-01-2009, 07:30
John.McInerney John.McInerney is offline
Registered User
FRC #2039
 
Join Date: Nov 2008
Location: Rockford Robotics
Posts: 2
John.McInerney is an unknown quantity at this point
Re: To SVN or not to SVN?

Thanks everyone for the great suggestions. I think we will give Git a try.

Will the Labview version FIRST teams use this year have a tool to see the difference between two versions of a VI?
  #8   Spotlight this post!  
Unread 08-01-2009, 16:43
DavidAllen DavidAllen is offline
Registered User
FRC #2415 (The Westminster Wiredcats)
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2008
Location: Atlanta
Posts: 5
DavidAllen is an unknown quantity at this point
Re: To SVN or not to SVN?

Before you commit (hehe, pun) to Google Code, I'd suggest that you check out Beanstalk (http://www.beanstalkapp.com/) if you're interested in privacy. Its free plan is a bit stringy (3 users, 1 repository, 20MB), but its "Personal" plan, which if $15/month, is a good deal if you're team is willing to pay for it.

Our team is using it and we absolutely love it. It's front-end web application is excellent to view and manage commits and changes, as well as download any part of the code you may need without having Subversion installed.

Beanstalk + TortoiseSVN is a great combination for someone looking into simple version control. Git may be technically superior, but, as of now, subversion is simpler to manage.
  #9   Spotlight this post!  
Unread 28-12-2008, 23:15
ay2b's Avatar
ay2b ay2b is offline
Registered User
AKA: Andy
FRC #2928
Team Role: Mentor
 
Join Date: Mar 2004
Rookie Year: 1994
Location: Seattle, WA
Posts: 211
ay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant future
Re: To SVN or not to SVN?

Quote:
Originally Posted by nathanww View Post
Anyway, I was wondering what experiences people here have had with subversion. None of us has actually used it before--is it difficult to learn? And how much value would it be to a team of this size?
Use a version control system! It is extremely valuable to have with a single programmer, and as you add programmers, the value of a version control system grows exponentially.

As for experience/difficulty to learn: I currently work at a company of about 30 people. Everyone in the company (not just those working on software) uses subversion. Nearly every document goes into subversion. This includes source code, as well as specifications, inventory control, demos, presentations, etc. As a company, we standardized on TortoiseSVN, though people are free to use any SVN client they choose (I use the command-line client). Most people in the company had never used any version control system before, but given a short presentation everyone picked it up fairly quickly, uses it regularly and sees the value of having it. A few people have occasional problems (almost always due to forgetting to "update"), but they know who to ask for help (me), and I've always been able to talk them through fixes.

My recommendation (especially if most people who will be using it have never used a version control system before) is:
- use a version control system (subversion is a great choice, though there are plenty of other good choices too)
- have one person become an expert at svn - learn all the basic commands; learn all the fancy commands; the internet has lots of resources for learning svn
- have the expert give a presentation of the basics to everyone else - just cover "here's how to check out our repository" and the basic commands (update, add, remove, commit, resolve); don't try to cover everything
- set up a section of the repository as a test section for everyone to experiment with
- eventually everyone will become an expert


The only difficulty that I have had with using SVN within the context of FIRST is that various problems will arise if you do not have constant access to the server (e.g. no internet access at regionals; intermittent internet access from your computer lab; etc). This is a surmountable problem, and NOT unique to using subversion. From what I've heard, certain other version control systems handle being "offline" better than subversion, but I do not have any experience with them.
__________________

2011 - SD Quarterfinalists (980), LA Quarterfinalists (980)
2010 - LA (2404) Finalists (980), AZ Motorola Quality (980)
2009 - LA Semifinalists (980); Las Vegas Quarterfinalists (980); SD (2404); IRI #1 Seed, Finalist (980)
2008 - SD Quarterfinalists (980), LA Champions (980), LA Rookie Inspiration Award (2404); CalGames Finalists
2007 - So.Cal Finalists (980), SD Quarterfinalists (980); CalGames Finalists
2006 - So.Cal Regional Champion (4), Toronto Judge's Award Day 1 (4)
2005 - SVR Champions, Delphi "Driving Tomorrow's Technology" (980); AZ Xerox Creativity (980); So.Cal Finalists, RadioShack Innovation in Control (980); Championship Archimedes Division Semifinalists; IRI Finalists (980)
2004 - So.Cal Regional Champions, Leadership in Controls (980); AZ GM Industrial Design (980); Championship Galileo Division #2 Seed; IRI Champions
2003 - PNW Semi-finalists (488)
2002 - PNW Finalists (488)
2000 - X-bot / 488 - Mentor / Founder
1994 - Sunny Delight - Driver - champion
  #10   Spotlight this post!  
Unread 30-12-2008, 22:46
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: To SVN or not to SVN?

SVN is not the best choice considering that LabView is a binary format. However, it's better than no source controlling either.

You have some alternatives like git, but SVN seems to be the one with most clients and "ease". If your team mates love the commandline, git may be a little easier and "cleaner".

However, even if you don't need version controlling, it is nice to have a central repository for all your code, side projects, accidents, experiments, etc.

Team 2502 has a working Trac with SVN repo and it's a really nice system when you need to quickly download a single file or something.

Plus, we can attach messages to the commits so we know what the person was thinking and what the person was doing. Our programming team isn't large, it's mainly me and few other guys just working with me on my screen, etc.

Go with SVN. Especially if you know someone that can set up Apache with svn module. I set it up on my basement server and it's really nice. Even at school with locked down ports, I slip right through port 80 and a lot of convenience.

keehun
  #11   Spotlight this post!  
Unread 31-12-2008, 01:27
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: To SVN or not to SVN?

Quote:
Originally Posted by nathanww View Post
Anyway, I was wondering what experiences people here have had with subversion. None of us has actually used it before--is it difficult to learn? And how much value would it be to a team of this size?
When programming with multiple people, you definitely want a version control system. SVN happens to be popular, but I don't recommend it, for FIRST use, it is centralized, which means you must be connected to the Internet if you want to check out a past version or make a quick commit. In features which may not be directly relevant, SVN doesn't have tags (it uses a really dirty hack which irritates me to no end instead).

In FIRST, benefits of a revision control system are you can trace who wrote what line (a "blame"), if you have a cool feature which you want to test, you can branch from the current source and merge it in if it works, or delete it if it doesn't, without touching "production" code. Whenever you test that code on the robot, you can "tag" that version with a name (instead of a meaningless number) whenever you test that code on the robot, going back to a working version is very helpful.

Personally, I highly recommend a decentralized revision control system. The benefits of a decentralized revision control system (which SVN is not) is that merging becomes much easier, since the distributed capability is very dependent on it. Most importantly for FIRST, you can make commits and inspect the entire history without an Internet connection, and you do not need to worry about locking files that you are editing on. For this, I HIGHLY recommend Git, because it is fast fast fast, packs the entire history into files smaller then a single SVN checkout (!) and merging is so easy it is fun. Git tracks content, not individual files, so you can even track a line of code as it has been moved around different files. If you can get a system going, taking the time to learn Git (or any collaboration friendly revision control system, e.g. not RCS/CVS) is highly worth it.

Revision Control with Git for FRC Teams Very good document I think (of course I am a bit biased, I wrote it)
__________________
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)

Last edited by Nibbles : 31-12-2008 at 05:50. Reason: Document link
  #12   Spotlight this post!  
Unread 02-01-2009, 22:38
nathanww nathanww is offline
Hacker
FRC #1678 (Citrus Circuits)
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2007
Location: Davis, CA
Posts: 224
nathanww is just really nicenathanww is just really nicenathanww is just really nicenathanww is just really nice
Re: To SVN or not to SVN?

Wow, thanks for all the advice!

After reading some literature and conferring with some of the other programmers, we've decided on a Subversion system hosted on Google Code. Now I just hope it doesn't eat our code on week five somehow*gulp*
__________________
Get yer robot source code here!
  #13   Spotlight this post!  
Unread 02-01-2009, 23:40
Joe Ross's Avatar Unsung FIRST Hero
Joe Ross Joe Ross is offline
Registered User
FRC #0330 (Beachbots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Los Angeles, CA
Posts: 8,561
Joe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond repute
Re: To SVN or not to SVN?

Quote:
Originally Posted by nathanww View Post
After reading some literature and conferring with some of the other programmers, we've decided on a Subversion system hosted on Google Code. Now I just hope it doesn't eat our code on week five somehow*gulp*
The good thing is that even if the subversion server crashes and loses all the data, everyone that has checked out the repository has a local copy. In other words, you're no worse then if you didn't have revision control.
  #14   Spotlight this post!  
Unread 03-01-2009, 07:17
jtdowney jtdowney is offline
Boiler Up
AKA: John Downey
FRC #4302 (Robophins)
Team Role: Mentor
 
Join Date: Sep 2006
Rookie Year: 2006
Location: Chicago
Posts: 300
jtdowney has a brilliant futurejtdowney has a brilliant futurejtdowney has a brilliant futurejtdowney has a brilliant futurejtdowney has a brilliant futurejtdowney has a brilliant futurejtdowney has a brilliant futurejtdowney has a brilliant futurejtdowney has a brilliant futurejtdowney has a brilliant futurejtdowney has a brilliant future
Re: To SVN or not to SVN?

Quote:
Originally Posted by Joe Ross View Post
The good thing is that even if the subversion server crashes and loses all the data, everyone that has checked out the repository has a local copy. In other words, you're no worse then if you didn't have revision control.
Good point. Also I would imagine Google keeps good backups what is more likely is someone makes a corrupt checkin, in which case it is extremely easy to roll back to the last known good code.

I am a Software Developer for Purdue University and we use Microsoft's Team Foundation Server every day although it is not Subversion, CVS, Git, or others the idea is still central to professional programming.
__________________
John Downey
Lead Robot Inspector - Purdue IndianaFIRST District
Whitney Young Magnet High School/Robophins (FRC 4302) - Mentor (2013-current)
Midwest Regional Planning Committee - Member (2012-current)
Boilermaker Regional Planning Committee - Member (2011-2014)
Robot Inspector (2008-current)
Purdue FIRST Programs - Staff Advisor (2008-2011)
Lafayette-Jefferson High School/Precision Guessworks (FRC 1646) - Mentor (2006-2011)
  #15   Spotlight this post!  
Unread 03-01-2009, 09:23
nathanww nathanww is offline
Hacker
FRC #1678 (Citrus Circuits)
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2007
Location: Davis, CA
Posts: 224
nathanww is just really nicenathanww is just really nicenathanww is just really nicenathanww is just really nice
Re: To SVN or not to SVN?

LOL, I guess I'm just paranoid about having my code stored somewhere else
__________________
Get yer robot source code here!
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
downloading the WPI library off the SVN nickmagus Programming 13 05-01-2009 14:29
Best Hosted SVN? interfect Programming 12 30-12-2008 22:50
Install from the WPI SVN Repository (**coming soon**?) knine143 FRC Control System 2 23-12-2008 15:14
IR Board Not Working (But NOT Fried) itsme Electrical 2 18-02-2008 06:11
Match Pairings not random (not even close!) Norm M. General Forum 74 31-03-2003 08:22


All times are GMT -5. The time now is 12:52.

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