Difference between revisions of "Code repositories"

From MCEWiki
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Repositories =
+
The MCE software is available on GitHub in several repositories:
  
Currently, the MAS repository is on e-mode, and should be accessible from anywhere on the internet. The svn server is <tt>e-mode.phas.ubc.ca</tt>.
+
:<span style="font-size:large">https://github.com/multi-channel-electronics</span>
  
There are separate repositories for core MAS (driver + libraries + command line applications) and user applications (squid tuning, file management scripts, idl scripts).
+
The most common things you'll need are:
 +
* the [[MAS]] code here: https://github.com/multi-channel-electronics/mas
 +
** MAS uses the GNU autotools for a bit of configuration work.
 +
* the [[MCE script]]s here: https://github.com/multi-channel-electronics/mce_script
 +
See [[MAS OS setup]] for information on how to build and install these packages.
  
The core MAS repository is called "mas".
+
Also available:
 +
* [[Sync box firmware]]: https://github.com/multi-channel-electronics/sync_box
 +
** both CPLD and Atmel code are available
 +
* [[PCI card firmware]]: https://github.com/multi-channel-electronics/arc_pci
  
The MCE script repository is called "mce_script".
+
== What about card firmware? ==
  
== SSH Tunneling for SVN ==
+
That's still in a CVS respository somewhere at UBC.  Ask us for it.
  
Sometimes, you may want to tunnel the SVN port.  This isn't necessary now that the server is on e-mode, but in any case it's done like this:
+
[[Category:MAS]]
 
+
[[Category:MCE Script]]
ssh mhasse@phas.ubc.ca -N -L 3690:e-mode.phas.ubc.ca:3690
+
[[Category:Sync Box Firmware]]
 
 
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 e-mode.
 
 
 
= Checkout =
 
 
 
The top-level structure of the mas and mce_script repositories are the same:
 
 
 
  --+--trunk
 
    +--branch--+--experiment1
 
                +--experiment2
 
                +-- ...
 
 
 
Depending on whether you want the trunk (UBC users or read-only for other users), or your experiment's branch, you should use either
 
  MY_BRANCH=trunk
 
  MY_USER=mce
 
or
 
  MY_BRANCH=branch/my_experiment_name
 
  MY_USER=my_experiment_name
 
 
 
If you have a personal svn id, you should use it.  Sometimes.
 
 
 
== MAS ==
 
 
 
Since MAS is a <tt>make/make install</tt> type of thing, you should checkout MAS into a user source folder somewhere:
 
 
 
cd src/
 
svn checkout --username=$MY_USER svn://e-mode.phas.ubc.ca/mas/$MY_BRANCH  mas
 
 
 
== mce_script ==
 
 
 
Since things in mce_scripts tend to get edited more often than MAS, it should be checked-out directly into /usr/mce.  The /usr/mce directory should be created automatically when you "sudo make install" the mas source.  If you can't wait that long, create it manually:
 
 
 
sudo mkdir /usr/mce
 
sudo chgrp mce /usr/mce
 
sudo chmod g+wxs /usr/mce
 
 
 
Then checkout mce_script:
 
 
 
cd /usr/mce
 
svn checkout --username=$MY_USER svn://e-mode.phas.ubc.ca/mce_script/$MY_BRANCH  mce_script
 
 
 
(You need to be in the <tt>mce</tt> group to get away with the checkout... 'usermod -a -G mce <username>' )
 
 
 
= 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
 
 
 
= Release versions =
 

Latest revision as of 19:21, 16 November 2021

The MCE software is available on GitHub in several repositories:

https://github.com/multi-channel-electronics

The most common things you'll need are:

See MAS OS setup for information on how to build and install these packages.

Also available:

What about card firmware?

That's still in a CVS respository somewhere at UBC. Ask us for it.