eVLBI CVS maintenance
The LBA eVLBI software is maintained in a CVS archive at the ATNF.
Anonymous access is available to CVS repository, however ATNF firewalls
essentially close this off from non ATNF access. Shh tunneling allow a
workaround for people with an ATNF login.
It is recommended that all observatories have a readonly copy of the
eVLBI code in ~vlbi/evlbi (or somewhere similar). This can then be
updated whenever needed and there should be no version confusion.
Checking out the eVLBI code
To get a readonly copy of the eVLBI code (from a machine within the
ATNF/CSIRO firewalls) you need to:
> cvs -d
:pserver:anonymous@atlas:/epp/atapplic/cvsroot checkout evlbi
> cd evlbi
> cd vsib; make
> cd ../util; make
> cd ../RtFC; make
If you are not within the ATNF firewall you will need to setup an ssh
tunnel. You need to ssh as any user from the remote machine into an
ATNF machine which can "see" atlas. Venice should always work. You can
do this like
> ssh -L 2401:atlas:2401
username@venice.atnf.csiro.au
> cvs -d
:pserver:anonymous@localhost:/epp/atapplic/cvsroot checkout evlbi
Where username is your ATNF unix username. The ssh tunnel will exits as
long as you stay logged on. An alternative is to ssh into the remote
machine from a machine that can "see" atlas (ie any system on the ATNF
production network) and and setup an incoming port tunnel, e.g.
> ssh -R 2401:atlas:2401 vlbi@pkvsi1
> cvs -d
:pserver:anonymous@localhost:/epp/atapplic/cvsroot checkout evlbi
This often has the advantage of one less ssh session.
Updating the code
To get a copy of the most recent changes to the CVS repository you
simple need to
> cd ~evlbi
> cvs update
> cd vsib; make
> cd ../util; make
> cd ../RtFC; make
Don't forget to setup the ssh tunnel first if necessary.
Code development
People who wish to makes changes to eVLBI code need write acess to the
CVS repository. At the minimum an ATNF unix login will be required and
you need to be in the atnfsrc group. You also need to generate a
password hash which is added into the system. See Chris for more
details. To checkout a personal copy of the code use:
> cvs -d
:pserver:username@atlas:/epp/atapplic/cvsroot login
> cvs -d
:pserver:userame@atlas:/epp/atapplic/cvsroot checkout evlbi
where username is your ATNF username (e.g phi196).
Once you have write access to the CVS repository, it would generally be
best that any non-trivial changes are made on branches. All changes
which are made on the main trunk should be considered stable. The
advantage of using branches rather than replying on making changes in
your own copy of the code is that you can use CVS to easily distribute
the code to multiple observatories for testing (without putting buggy
code onto the main trunk).
Creating CVS branches
This is currently not well tested!!!
Use with caution
To create a branch:
>
cvs -d
:pserver:username@atlas:/epp/atapplic/cvsroot login
> cvs tag -b <branch_tag>
This just create the branch on the repository. To change your current
working copy to this branch:
> cvs -r update -r
<branch_tag> <module>
To checkout a copy of a branch
> cvs -r checkout -r
<branch_tag> <module>
To update a working copy with changes from a branch (either another
branch or the main tree):
> cvs update -j <branch_tag>
[file | directory | module]
To update a branch to sync with the main tree
> cvs update -j HEAD