Version Control: Getting the Latest Version of the Source

Subversion is very easy to use and extremely powerfull. I recommend reading the FAQs and documentation at subversion's site if you have any questions on merging, commiting, or cleaning up the repository. You can get a number of very cute shell extensions and devtool add-ins at that same site. The rest of this document will tell you what you need to know to work on AW's site.

Checkout the Code

We have a public (GPL'd) repository located at American Whitewater's site under the directory /repos/wh2o/. This is a great place to start if you don't have developer access yet. There are two branches right now for website code, one is located under ./trunk the other under ./branches/testing. Testing is the latest (often buggy and incomplete) version, and probably recommended for new development. For fixes to the existing version of the site, use ./trunk. The difference is the way that the two are applied. ./trunk is immediately applied to allow the current site to function. Testing is constantly merged with trunk and also contains new development which runs under a variety of test environments before being committed to the working version of the site.

The command to checkout the code is (substitute the American Whitewater Website for host below):

$ svn co http://host/repos/wh2o/branches/test .

or

$ svn co 

in the virtual machine's /var/www directory. To switch to the current repository issue:

$ svn switch http://host/repos/wh2o/trunk

VM Update from Repository Instructions

Issue:

$ cd /var/www
$ svn update

You may have to reset your permissions:

$ chown apache.apache * -R

Updating the Code With Your Changes

Simply issue:

$ svn commit -m "Your update message here"

to update the repository with your changes. If you are adding new files or direcories make sure to issue:

$ svn add filename.ext
$ svn del filename.ext

for the files you add and delete.

Using Eclipse

Eclipse has a subversion plugin which is mostly is accessed by right clicking on the file and going to the team submenu. It works great with a samba share to the virtual machine and even keeps track of file deletes, has a visual merge, and will allow commits right from eclipse.