|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
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 |
|
#2
|
|||
|
|||
|
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 |
|
#3
|
||||||
|
||||||
|
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. |
|
#4
|
|||
|
|||
|
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. |
|
#5
|
|||
|
|||
|
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> Last edited by Nibbles : 01-10-2010 at 10:07 PM. |
|
#6
|
||||
|
||||
|
Re: Please Help Me Set Up a Central Version Control Repository on my Laptop
Quote:
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 Last edited by byteit101 : 01-10-2010 at 09:43 AM. Reason: Mac not windows |
|
#7
|
|||
|
|||
|
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 ![]() |
|
#8
|
||||
|
||||
|
Re: Please Help Me Set Up a Central Version Control Repository on my Laptop
Quote:
|
|
#9
|
|||
|
|||
|
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.
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Public Version Control Repository | jngleofinsanity | Programming | 4 | 12-30-2008 11:08 PM |
| Control a vex with a laptop? | antiNeo | Programming | 17 | 06-24-2008 12:51 PM |
| LOST LAPTOP! PLEASE HELP! | Qbranch | General Forum | 13 | 03-19-2008 08:25 PM |
| Revised version of rules (help please) | Nimmy | Rules/Strategy | 10 | 01-25-2006 02:59 PM |
| Version Control | mtrawls | Programming | 13 | 12-08-2003 02:52 PM |