Difference between revisions of "Wales Group Version control"

From CUC3
Jump to navigation Jump to search
import>Csw34
import>Csw34
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
We are now in the final stages of putting the group code under version control. GMIN and PATHSAMPLE, along with the CHARMM and AMBER code used with them have been added to the repository. OPTIM will be added soon. Once stable versions of the source code have been added - the next step is to set up the nightly test suite for each code, and move the documentation into the repository.
+
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.
 
There are instructions on how to set up your SVN details and obtain the group code on the [[SVN setup]] page.
Line 5: Line 5:
 
==RSS feeds==
 
==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:
+
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 [http://www-theor.ch.cam.ac.uk/walesrss/ here]. There is currently one feed per top level directory in the repository:
   
 
* [http://www-theor.ch.cam.ac.uk/walesrss/trunk_log.xml trunk_log.xml] - contains the logs/diffs for every change to the code
 
* [http://www-theor.ch.cam.ac.uk/walesrss/trunk_log.xml trunk_log.xml] - contains the logs/diffs for every change to the code
 
* [http://www-theor.ch.cam.ac.uk/walesrss/gmin_log.xml gmin_log.xml] - only contains the logs/diffs when code in the GMIN directory is changed
 
* [http://www-theor.ch.cam.ac.uk/walesrss/gmin_log.xml gmin_log.xml] - only contains the logs/diffs when code in the GMIN directory is changed
 
* [http://www-theor.ch.cam.ac.uk/walesrss/pathsample_log.xml pathsample_log.xml] - only contains the logs/diffs when code in the PATHSAMPLE directory is changed
 
* [http://www-theor.ch.cam.ac.uk/walesrss/pathsample_log.xml pathsample_log.xml] - only contains the logs/diffs when code in the PATHSAMPLE directory is changed
  +
* [http://www-theor.ch.cam.ac.uk/walesrss/optim_log.xml optim_log.xml] - only contains the logs/diffs when code in the OPTIM directory is changed
 
* [http://www-theor.ch.cam.ac.uk/walesrss/charmm_log.xml charmm_log.xml] - only contains the logs/diffs when code in the CHARMM31 directory is changed
 
* [http://www-theor.ch.cam.ac.uk/walesrss/charmm_log.xml charmm_log.xml] - only contains the logs/diffs when code in the CHARMM31 directory is changed
 
* [http://www-theor.ch.cam.ac.uk/walesrss/amber_log.xml amber_log.xml] - only contains the logs/diffs when code in the AMBER directory is changed
 
* [http://www-theor.ch.cam.ac.uk/walesrss/amber_log.xml amber_log.xml] - only contains the logs/diffs when code in the AMBER directory is changed
  +
* [http://www-theor.ch.cam.ac.uk/walesrss/nab_log.xml nab_log.xml] - only contains the logs/diffs when code in the NAB directory is changed
  +
* [http://www-theor.ch.cam.ac.uk/walesrss/disconnect_log.xml disconnect_log.xml] - only contains the logs/diffs when code in the DISCONNECT directory is changed
  +
* [http://www-theor.ch.cam.ac.uk/walesrss/doc_log.xml doc_log.xml] - only contains the logs/diffs when code in the DOC directory is changed
  +
* [http://www-theor.ch.cam.ac.uk/walesrss/scripts_log.xml scripts_log.xml] - only contains the logs/diffs when code in the SCRIPTS directory is changed
  +
* [http://www-theor.ch.cam.ac.uk/walesrss/ambertools_log.xml ambertools_log.xml] - only contains the logs/diffs when code in the AMBERTOOLS directory is changed
   
 
Using Firefox to look at the feeds is ok, but I suggest you set up a different RSS reader, such as [http://www.google.com/reader 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.
 
Using Firefox to look at the feeds is ok, but I suggest you set up a different RSS reader, such as [http://www.google.com/reader 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.
  +
  +
==Access restrictions==
  +
Raven authentication has been re-enabled for the diffs only. You can view the feeds without logging in (as this allows email clients to be used), but if you are outside the department, you will need to log in via Raven to access the diffs linked from the feed. Also, the diffs directory is now excluded from Google and other bot searches. This should hopefully prevent chunks of code ending up on Google.
   
 
==Usage tips==
 
==Usage tips==
Line 22: Line 31:
 
* '''always''' do an 'svn update' before you do 'svn commit'
 
* '''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.
 
* 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.
+
* 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.

Latest revision as of 16:53, 28 July 2009

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 here. 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
  • nab_log.xml - only contains the logs/diffs when code in the NAB directory is changed
  • disconnect_log.xml - only contains the logs/diffs when code in the DISCONNECT directory is changed
  • doc_log.xml - only contains the logs/diffs when code in the DOC directory is changed
  • scripts_log.xml - only contains the logs/diffs when code in the SCRIPTS directory is changed
  • ambertools_log.xml - only contains the logs/diffs when code in the AMBERTOOLS 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.

Access restrictions

Raven authentication has been re-enabled for the diffs only. You can view the feeds without logging in (as this allows email clients to be used), but if you are outside the department, you will need to log in via Raven to access the diffs linked from the feed. Also, the diffs directory is now excluded from Google and other bot searches. This should hopefully prevent chunks of code ending up on Google.

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.