Go to Post FIRST is here to reach the affluent, already college-bound students with boundless resources; it is also here to reach the poverty-stricken urban and rural students who don't see a diploma as worthwhile, and everybody in between. - Taylor [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 07-01-2010, 23:13
manderson5192 manderson5192 is offline
Registered User
AKA: Matt Anderson
FRC #0948 (Newport Robotics Group: NRG (pronounced eNeRGy))
Team Role: Programmer
 
Join Date: Jan 2008
Rookie Year: 2007
Location: Bellevue, WA
Posts: 62
manderson5192 is on a distinguished road
Please Help Me Set Up a Central Version Control Repository on my Laptop

Hello Chiefdelphi,

My team is blessed with having 7 programmers this year. Obviously, we need to use Version Control. We are using Java this year (hence my posting in this forum), so I would *like* to use a VCS supported in NetBeans (aka: Subversion). I've messed around with Bazaar some and set up an FTP server on my computer...but that is turning into a massive headache. I have a feeling somebody out there has had a similar issue before, so I'm asking for a simple step-by-step process to set this up.

Here's the deal: many locations we work in do not have adequate internet access to make an *online* central repository workable. As a result, I want our central repository *offline* on my laptop, accessible via our team's wireless network. I also want to be able to work on code for the robot from the same laptop. In other words, I want to have both a "working branch" and "the central repository" on the same computer. I would also like to make a script to mirror the repository on my laptop online, to our team's website (I think I can figure this out myself later...).

Oh, did I mention that I'm on a Mac?

I suppose my question is entirely clear, but what has *your team* done in a similar situation to meet their needs? What do you recommend? Again, if there's an all-in-one manual for this, I would be eternally grateful to you.

Thanks a MILLION,
-Matt Anderson
Reply With Quote
  #2   Spotlight this post!  
Unread 08-01-2010, 13:49
IceStorm IceStorm is offline
Mentor FRC 5046, FTC 8688
AKA: Chad
FRC #5046 (Jacked Up Jackets)
Team Role: Mentor
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Michigan
Posts: 136
IceStorm is a glorious beacon of lightIceStorm is a glorious beacon of lightIceStorm is a glorious beacon of lightIceStorm is a glorious beacon of lightIceStorm is a glorious beacon of light
Send a message via AIM to IceStorm Send a message via Yahoo to IceStorm
Re: Please Help Me Set Up a Central Version Control Repository on my Laptop

We are hoping to do the same thing with labview using the teams main laptop as the server as our build site does not have internet at all. This way it would also go with us to events. and the other programmers could use there laptops if needed to check in and out the various pieces of code they might be working on but everything would be merged on the team laptop before being sent into the robot.

So any types of whitepapers other teams have created that they would like to share would be awesome.

Thanks in advance
Reply With Quote
  #3   Spotlight this post!  
Unread 08-01-2010, 21:35
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,572
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: Please Help Me Set Up a Central Version Control Repository on my Laptop

It's unlikely that you'll find a whitepaper that completely describes everything you need, but here's one: http://thinktank.wpi.edu/article/158

We set up a laptop running linux and cvs. It was probably a month process to get everything working well enough, and another year until the configuration was finalized and everyone was used to using it. It is not used for anything else.

The laptop runs cvs with the pserver protocol. It's connected to the internet at my home (check with your ISP to make sure that this won't your TOS). I use dyndns.com (which sponsors team 501) to provide dns that will update whenever my dynamic IP changes. My home router is configured to forward the appropriate ports to the laptop. I also run a DNS server on the laptop, which isn't used on my home network, but is used when connected to the team's wireless network (which isn't connected to the internet). When it is connected to the internet, a cron job rsyncs the data with a webserver (daily in the offseason, hourly during the season). The webserver runs viewvc, so that anyone can access the data at any time, and also provides RO access to the cvs repository, so nothing gets out of sync. I bring the laptop home with me when we aren't meeting.
Reply With Quote
  #4   Spotlight this post!  
Unread 08-01-2010, 22:46
Jeanne Boyarsky Jeanne Boyarsky is offline
Java Mentor
FRC #0694 (StuyPulse)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2010
Location: New York
Posts: 100
Jeanne Boyarsky has much to be proud ofJeanne Boyarsky has much to be proud ofJeanne Boyarsky has much to be proud ofJeanne Boyarsky has much to be proud ofJeanne Boyarsky has much to be proud ofJeanne Boyarsky has much to be proud ofJeanne Boyarsky has much to be proud ofJeanne Boyarsky has much to be proud ofJeanne Boyarsky has much to be proud of
Re: Please Help Me Set Up a Central Version Control Repository on my Laptop

Another alternative is to use Git. It is "distributed version control" where everyone has a copy of the repository, but you aren't reliant on a central machine always being up.

I haven't tried it, but there is a NetBeans plugin.
Reply With Quote
  #5   Spotlight this post!  
Unread 10-01-2010, 02:58
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: Please Help Me Set Up a Central Version Control Repository on my Laptop

is there a particular reason you want a centralized system? A centralized VCS probably won't work out very well for FRC teams, decentralized I think is the way to go by offering the possibility of centralized workflow with other alternatives when that isn't an option (which is often the case). NetBeans seems to only support Mercurial as the DVCS of choice, which I will guarantee works better than CVS. Great thing about distributed is that you don't have to have a server running, because every repository check-out is also a repository.

I personally highly recommend Git, since it works over anything that can transfer files (HTTP, rsync, SSH, USB drive, email) and tracks content as opposed to files (I point to git add to demonstrate how that works, and Git's automatic rename detection vs. using explicit rename tracking). I don't know how well VCS integration in NetBeans works, never having used it, but I have never used an IDE that is any good, I much prefer the command line (or TortoiseGit/TortoiseSVN on Windows, for Mac OS X http://gitx.frim.nl/ is roughly similar). Actually I recently updated my document explaining the advantages, theory, and how-tos.

<edit>Hey check it out, there is a NetBeans implementation of Git entirely written in Java so it is cross platform: http://nbgit.org/ .</edit>
__________________
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 : 10-01-2010 at 22:07.
Reply With Quote
  #6   Spotlight this post!  
Unread 10-01-2010, 09:36
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
Re: Please Help Me Set Up a Central Version Control Repository on my Laptop

Quote:
Originally Posted by Nibbles View Post
is there a particular reason you want a centralized system? A centralized VCS probably won't work out very well for FRC teams,
Why? Subversion is Great! Have a "Master Development Laptop" that hosts a SVN server, and everyone else connects to you, commits their changes, and then you build and test.
NetBeans 6.5+ comes with built-in Subversion integration, in the GUI, but to use Git you need to go the the CLI.
To install the server, go to http://subversion.tigris.org/getting.htm and download Subversion
To use it through apache2.2, I have a (in depth with error troubleshooting) thread here (starts at post 6): http://www.chiefdelphi.com/forums/sh...ad.php?t=76825 Seeing as you are on a mac, and apache is already installed, the conf is in /etc/apache2/, I don't know if the mac installer will automaticaly configure, but try to figure it out.
I Have not looked at NetBeans, so I can't help you with configuring the project to use SVN, but in WindRiver it was Right click the project>Team>Share Project
To backup to a website, use svnadmin dump /path/to/repository > /path/to/dump.file and if you server supports it svnadmin load /path/to/repository < /path/to/uploaded/dump.file

Any questions, please Ask. Our team has used SVN for a few projects, and it seems to be a nice workflow
__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib

Last edited by byteit101 : 10-01-2010 at 09:43. Reason: Mac not windows
Reply With Quote
  #7   Spotlight this post!  
Unread 10-01-2010, 09:57
ericarseneau ericarseneau is offline
Registered User
no team
 
Join Date: Jan 2010
Location: San Diego
Posts: 30
ericarseneau is an unknown quantity at this point
Re: Please Help Me Set Up a Central Version Control Repository on my Laptop

A few things

You can use Subversion/svn, you just need to setup a server on your laptop. You can find binaries at http://subversion.tigris.org/getting.html#osx. I found something by googling install svn server mac http://www.wikihow.com/Install-Subversion-on-Mac-OS-X

If you want to use a distribute source control system, then NetBeans supports Mercurial/hg. Although Git is VERY popular in linux land, Google code, Sun and others are using Mercurial.

Although the development cycle with SVN works well for some, I would say that using a distributed source control system does have some significant pros, along with some cons The big pro for me as a developer is being able to commit code without having access to the "central" repository. This is a life saver. You can also do adhoc sharing with others and then push back to a central repo if you so wish. Also, the history of the code is usually included in your local copy, so you dont need the server to go look for previous versions. Two cons in my view are important. It is something new to learn. Understanding that you have a local repo that you commit to is nice, but it can also confuse you as if you are used to central, then commit is all you need to do. In case of distributed, you need to commit to local, then to push to your "central" or next level up repo.

Regardless of WHICH you choose, I am REALLY happy people are thinking about source control
Reply With Quote
  #8   Spotlight this post!  
Unread 12-01-2010, 18:57
NinJA999's Avatar
NinJA999 NinJA999 is offline
Chipmunk NinJA
AKA: Nick Aldwin
FRC #0811 (Team 811)
Team Role: Programmer
 
Join Date: Jan 2007
Rookie Year: 2006
Location: Windham, NH
Posts: 45
NinJA999 will become famous soon enough
Send a message via AIM to NinJA999
Re: Please Help Me Set Up a Central Version Control Repository on my Laptop

Quote:
Originally Posted by Nibbles View Post
I personally highly recommend Git, since it works over anything that can transfer files (HTTP, rsync, SSH, USB drive, email) and tracks content as opposed to files
I second Git. It worked beautifully for us last year, enabling us to still be using version control while at competitions both in Manchester and in Atlanta. I'm sure there's a GUI for it for mac, but if you have anyone who'll be using it on windows, Git Extensions is definitely the GUI to go with.
__________________
Team 811 (Nashua, NH) - Mentor

Previously Team Lead & Programming Lead
Reply With Quote
  #9   Spotlight this post!  
Unread 13-01-2010, 00:32
Derschatten Derschatten is offline
Registered User
FRC #1203 (Pandemonium)
Team Role: Mentor
 
Join Date: Jan 2008
Rookie Year: 2003
Location: West Babylon
Posts: 31
Derschatten is an unknown quantity at this point
Re: Please Help Me Set Up a Central Version Control Repository on my Laptop

If your team has a website. That web server make a great svn server. + most web host company now include one click install svn. Something you may want to long into.
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
Public Version Control Repository jngleofinsanity Programming 4 30-12-2008 23:08
Control a vex with a laptop? antiNeo Programming 17 24-06-2008 12:51
LOST LAPTOP! PLEASE HELP! Qbranch General Forum 13 19-03-2008 20:25
Revised version of rules (help please) Nimmy Rules/Strategy 10 25-01-2006 14:59
Version Control mtrawls Programming 13 08-12-2003 14:52


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

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