I'm working on setting up and SVN repository to save all of our reduction scripts (for each individual galaxy as well as the main script). This page will tell you how to use it when I get it set up.
- 18 Aug 2008
What is SVN?
SVN lets you save old versions of your files in case you realize you made
changes you didn't actually want to make. This is good for our data
reduction scripts in case we accidentally write over the old file or
something, or if we change something and then realize we didn't actually
want to do that. It's also good for the reduction steps, because if one of
us changes something then we have a record of our past steps in case we
need to revert to using that.
When you check out a project, it will create a new directory in the working directory where you check it out. For example, if I cd to $red/sexa/b/AO215/j1/ and type "svn checkout $SVNR/sexa" it will create the ./sexa/ directory. The files will be stored in ./sexa/trunk/. Currently I'm not sure if there's a way to get the files to be in the same directory. The way I have the repository set up, it will check out ALL of the files related to Sextans A, like the reduction files for B, C, and D arrays.
When you start to work on a new galaxy..
Make sure you do this! You will have to create a project and import it into the repository. Here are the steps (replace [galaxy] and [galaxypath] with the correct names):
mkdir trunk tags branches
cp $red/[galaxypath]/[galaxy]-b-j1-aips.txt ./trunk/
svn import [galaxy] $SVNR/[galaxy] -m 'Initial Import'
When you do this, make sure you copy all necessary reduction files into trunk. You can always add them later if you forget (see "Adding new files to an existing project in the repository").
Checking files out for the first time
Follow these steps:
svn checkout $SVNR/[galaxy]
Now your files will be in the ./[galaxy]/trunk directory wherever you checked that specific project out. I'm not sure if there's a way to get just the files, and not to have that directory and the "branches" and "tags" directories as well.
Updating files you've already checked out
Adding new files to an existing project in the repository
Committing changes you've made to existing files in the repository