Documentation UCL Multimedia

Concurrent Versions System

Anonymous Access | Developer Access | Modules | Examples

Concurrent Versions System (CVS) is a version control system that allows multiple developers to work on files at the same time. The software developed and modified at UCL is stored in a CVS repository. Anonymous access to the CVS repository is available to access the current code for the purpose of porting, patching, and testing the software.

The code in the CVS may be buggy or non-functional from time to time, so be prepared to encounter problems and report them. This is part of the purpose of making anonymous CVS access available.

Bug reports, code contributions, and comments for applications in the CVS should be sent to the mailing list ~for that project. If no mailing list exists for that application there post items to cvs-mice-admin@cs.ucl.ac.uk.

We recommend the use of CVS version 1.9 and later. Links on CVS that may be of interest are:

Anonymous Access to the UCL Repository

  • The repository root (CVSROOT) is:[Note: This has changed recently - 16 Feb 05]
    :pserver:cvsanon@scary.cs.ucl.ac.uk:/cs/research/nets/common0/starship/src/local/CVS_repository
  • The password for read-only access is:
    FoolsGold
  • See examples for quick start information.

Developer Access

The preferred access methods are through the local CS filestores or through SSH for remote connections. When direct access to the CS filestores and SSH are not available the pserver method may be used: note that pserver uses plaintext passwords and is only as secure as the networks the password traverses.

Local Filestore Access

  • The repository root (CVSROOT) is:[Note: This has changed recently - 16 Feb 05]
    /cs/research/nets/common0/starship/src/local/CVS_repository

SSH Access

For SSH access to the cvs respository you will need an account on UCL Computer Science machines.
  • Set environment variable CVS_RSH to be path of local ssh and CVSROOT to point to UCL repository, i.e.[Note: This has changed recently - 16 Feb 05]
    export CVS_RSH=/usr/local/bin/ssh
    export CVSROOT=:ext:<username>@sonic.cs.ucl.ac.uk:/cs/research/nets/common0/starship/src/local/CVS_repository
    
  • Avoid re-typing your password when CVS uses SSH to connect to the server by using ssh-agent.
    • One time actions:
      1. Check if ~/.ssh/id_dsa.pub (or identity.pub in the case of SSH1) exists on local host. If not run ssh-keygen, pick memorable passphrase.
      2. Append the contents of ~/.ssh/id_dsa.pub (identity.pub SSH1) to ~/.ssh/authorized_keys2 (authorized_keys SSH1) on remote machine (e.g. a UCL machine).
    • Login actions:
      1. Start X session or parent shell with ssh-agent, i.e.
         % ssh-agent xinit 
      2. Run ssh-add, typing passphrase when prompted. Ssh-agent will now handle password exchanges each time you connect to remote machine with ssh.
  • On windows the procedure is the same - a number of ssh implementations are available. The use of SSH version 2 is strongly recommended as there are a number of flaws in SSH version 1.

Pserver

  • The repository root (CVSROOT) is:[Note: This has changed recently - 16 Feb 05]
    :pserver:<username>@scary.cs.ucl.ac.uk:/cs/research/nets/common0/starship/src/local/CVS_repository
  • Usage is the same as for anonymous access, use password negotiated with repository administrators to login.
  • See examples for usage info.

Modules

The repository contains source code for versions of the software developed and modified at UCL. The module names, a brief description, and dependencies are listed in the table below. The descriptions are brief, most of the applications listed have more information on their project pages that can be found on the software downloads page.

Note: Most of the tools with user interfaces use slightly modified versions of tcl/tk. Information on tcl/tk and the latest source releases are available here.

Package Description Dependencies
common Common code library for UCL applications. Contains base64, HMAC, MD5, MBUS, UDP interface (IPv4, IPv6), and RTP/RTCP processing code. -
crtpdump Colin's RTP dump application - a debugged and improved version of Henning Schulzerinne's rtpdump. common
nte Network Text Edidor is a shared text editor designed for use on the Mbone. tcl-8.0 / tk-8.0
rat Robust Audio Tool - a multicast audio tool for conferencing and audio streaming over the Internet. Experimental version with multirate support, greater codec variety, platform feature leverage (IPv6, MMX, ACM), improved loss concealment, and a more modular architecture. common / tcl-8.0 / tk-8.0
rat-3.0 Robust Audio Tool - a multicast audio tool for conferencing and audio streaming over the Internet. Release version with redundant audio encoding, loss concealment, transcoder operation mode and greater stability. tcl-8.0 / tk-8.0
reflector Reflector - an application level packet reflector and forwarder for debugging UDP based tools and providing bridging functionality when multicast is not available. -
relate Relate Integrated Interface for conferencing with Mbone tools. Reduces screen clutter and eases tool use by displaying basic options. nte / rat-3.0 / vic / wbd
sdr SDR is a session directory tool designed to allow the advertisement and joining of multicast conferences on the Mbone. tcl-8.0 / tk-8.0
tcl-8.0 UCL modified version of the tcl that allows static linking and prevents path sourcing of tcl files at start up that can be problematic when multiple versions of tcl are installed. -
tk-8.0 As tcl-8.0 tcl-8.0
utg UCL Transcoding Gateway - a multicast/unicast transcoder that will forward audio, video, session directory, and other data types. -
vic Video Conference - a video tool that allows groups of users to transmit video to each other over IP multicast. Developed by Steve McCanne and Van Jacobson at LBL. The UCL version features a range on contributions that have not gone into the main VIC release including X11 screen grabber, H263/H263+, SunVideoPlus support, hardware H261, faster Win32 rendering, and IPv6 support (Solaris). tcl-8.0 / tk-8.0
wbd WBD is a shared whiteboard compatible with the LBL whiteboard WB. tcl-8.0 / tk-8.0

Examples

Quick examples for UNIX and Windows to check out the code. Most of the Unix modules have a configure script, and the Windows versions have developer studio .dsp files.

UNIX (csh)

[Note: This has changed recently - 16 Feb 05]
% setenv CVSROOT :pserver:cvsanon@scary.cs.ucl.ac.uk:/cs/research/nets/common0/starship/
src/local/CVS_repository
% cvs login
(Logging in to cvsanon@scary.cs.ucl.ac.uk)
CVS password: ********
% cvs checkout crtpdump common
cvs server: updating crtpdump
U crtpdump/MODS
...
cvs server: updating common
U common/COPYRIGHT
...
% ls
./ ../ common/ crtpdump/

Win32

[Note: This has changed recently - 16 Feb 05]
C:\> set CVSROOT=:pserver:cvsanon@scary.cs.ucl.ac.uk:/cs/research/nets/common0/starship/
src/local/CVS_repository
C:\> set HOME=C:\WINDOWS\TEMP [if not already set]
C:\> cvs login
(Logging in to cvsanon@scary.cs.ucl.ac.uk)
CVS password: ********

C:> cvs checkout crtpdump common
cvs server: updating crtpdump
U crtpdump/MODS
...
cvs server: updating common
U common/COPYRIGHT
...
c:\> dir /w
[.] [..] [common] [crtpdump]

Any comments or problems with anonymous cvs access at UCL should be sent to cvs-mice-admin@cs.ucl.ac.uk.