Code repositories
Repository and check-out
Currently, the MAS repository is on gamow, and only accessible from within physics.
There are separate repositories for core MAS (driver + libraries + command line applications) and user applications (squid tuning, file management scripts, idl scripts).
Core MAS repository is called "mas".
User MAS repository is called "mce_script". This has 3 parts:
Folder | Purpose |
---|---|
script | shell scripts, wrappers for mce_cmd and dsp_cmd |
idl_pro | idl scripts |
src | compilable code projects |
The main branch is called "trunk". This means that to check out the main-line scripts folder, use the svn command
svn checkout --username <user> --password <pass> svn://gamow.phas.ubc.ca/mce_script/trunk/script <destination folder>
To checkout the entire mas source tree (trunk + branches)
svn checkout svn://localhost/mas
NOTE! To use SVN on foreign (non-UBC) machines, you must use ssh to port-forward (tunnel) the svn connections to gamow, which is protected. This is done like this:
ssh mhasse@phas.ubc.ca -N -L 3690:gamow.phas.ubc.ca:3690
You can replace "mhasse@phas.ubc.ca" with your username@any machine behind the physics firewall that you have access to. This command will ask for your password, and then remain open. As long as this command is running, you can do svn operations using the address "svn://localhost/..." and they will be redirected to gamow.
Branching and merging
Merging is accomplished by telling svn to apply a change history from one branch into the current location. For example, if we want branched from trunk/target at r100 and want to merge all changes in trunk/target up to the current head version into branches/expt/target, the merge command would be:
cd branches/expt/target svn merge -r100:HEAD ../../../trunk/target