Wales Group Version control
As of 16th July 2008, all the group code is under version control. GMIN, OPTIM and PATHSAMPLE, along with the CHARMM and AMBER code used with them have been added to the repository, along with the official documentation. Changes to the documentation in the repository are automatically applied to the version on the website every night (at midnight) and the RSS feeds below are updated every ten minutes. The next step is to set up the nightly compilation and test suite for each code.
There are instructions on how to set up your SVN details and obtain the group code on the SVN setup page.
RSS feeds
RSS feeds (including diffs of files that have been changed) are generated every 10 minutes from the SVN log files any uploaded to the CUC3 web server. There is currently one feed per top level directory in the repository:
- trunk_log.xml - contains the logs/diffs for every change to the code
- gmin_log.xml - only contains the logs/diffs when code in the GMIN directory is changed
- pathsample_log.xml - only contains the logs/diffs when code in the PATHSAMPLE directory is changed
- optim_log.xml - only contains the logs/diffs when code in the OPTIM directory is changed
- charmm_log.xml - only contains the logs/diffs when code in the CHARMM31 directory is changed
- amber_log.xml - only contains the logs/diffs when code in the AMBER directory is changed
- doc_log.xml - only contains the logs/diffs when code in the DOC directory is changed
Using Firefox to look at the feeds is ok, but I suggest you set up a different RSS reader, such as Google Reader to keep them all in one place. Note that Google Reader has a delay in updating the feeds, so you won't see new logs up to an hour after they are created and are visible with Firefox.
Usage tips
What follows are a few suggestions to make using SVN a joyful experience. Please add any others you think are important! In general you should:
- make sure you followed the setup instructions on the SVN setup page. The procedure includes setting up a template file to ensure that all logs are in the same basic format
- run 'svn update' on a regular basis to ensure you have the latest bug fixes
- always do an 'svn update' before you do 'svn commit'
- commit your changes regularly. If you wait a two months before commit your changes, you're likely to have to resolve more conflicts in parts of the code that has been changed by others in the meantime.
- if you get a conflict (C flag) when running 'svn update', find out who introduced the change and talk to them about it to make sure you can introduce your code without damaging theirs.