Obtaining source code from OSCAR.

For the impatient:

If you're just looking, there is a browse copy of the source code that is accessible through anonymous ftp - look here. You can download specific files via ftp, but it not nearly as convenient as using the guest view in our source code control system.  If you want to download in bulk, the download archives are here.

Using our source code control system

If you are more serious, then look at our source code control system. Thanks to the kind folks at Perforce we are using P4 as our source control system. They are providing free access to their excellent product for open source projects.  To access our source code control system, you should get p4 client software from the Perforce download page. Once you have obtained the client software, you need to set up your environment to have your client talk to our server.

Quick info on p4:

Before going further you may wish to acquaint yourself with  p4, please view P4 Quick start guide at least once.

Setting up your environment:

Set the following environment variables in order to talk to our server and activate the browse client account.
P4PORT=oscar.nmss.com:1666
P4USER=ctaguest

Optionally you may want to set P4EDITOR for win32, or EDITOR for UNIX's, to the name of your preferred editor. If this variable is not set, defaults are Notepad for win32, and vi for unix.

Creating a view:

The source code is organized as shown in the source code map. In order to make it easier for you to download only the components that you may need several pre-defined template views have been created. The contents of these views are described in the source view description page. Once you have decided what template meets your needs, you may simply create a view to the source code by issuing the command:
p4 client -t <the-name-of-the-view-of-your-choice>

This will automatically bring you into an editor and present you with a formal specification of your view.

If you have issued this command from the directory that you want to use as the root of your source tree, you do not have to do anything else and can now exit the editor.

Modifying source root:

If you issued the command from another directory or have changed your mind as to where you want the root of the source tree to be, modify the "Root:" field to reflect the full path name of the root of your source tree, e.g. Root: /home/johnQpublic/p4 and your tree will be rooted in a sub-directory, called p4, off your home directory. There is no need to call this directory p4, or for you to root your three from your home directory for that matter, all you need are write privilege to the location that you are using as the source root.

Modifying what the view uses to populate your drive:

At this stage you can also add or remove sub directories or files to or from your view, see the perforce documentation on client views.

Please note that the "-t" flag in the command shown above, is only meaningful  on the creation of the client, modifying the client specification is done without the "-t" flag and template client name ( e.g. p4 client ).

If you inadvertently left out the "-t" flag and template client name, p4 will assume that you want everything in the depot to be brought down. If this is not what you want, you have to remove the client with the "p4 client -d [client name ]" command, and start over. Please note that square brackets "[ ]" are used to show an optional argument.

Populating your host drive:

Once you exit the editor you have a window to our source "depot".  In order  to populate your host based on what is defined in the view, you must issue the following command:

p4 sync ...

This command will proceed to identify all the source files contained in your view and to transfer them to your machine.
And that is it. You have successfully populated a host.

It is important to note that although the Open Source teleCom Archive Resource (OSCAR) does not reside behind a firewall, your computer may and therefore you may have to take additional steps as described in Perforce's technote  before being able to use p4 to access our server.

In a fully populated system, the directory structure conforms to that shown in the source code map. However the template view used may have eliminated some components. You can always add new components to your view by modifying you view specification. After modifying your view you must re-issue the "p4 sync ..." command.

By default the server will keep track of the files defined on your view, if you remove something from your copy of the directory tree without using the appropriate perforce command, p4 may not know that the file or sub directory has been removed. It may tell you that all files are up to date.

If this happens, issue "p4 sync -f ..." command to force the repopulation of your source tree.

Note that the effect of the command is localized to the place in the directory structure where you happen to be, i.e. if you are bellow the root of the source tree, anything bellow the sub directory where you happen to be will be re-populated.

Available Clients:

You can use the ctaguest client as a browse agent to our source depot.  You can populate your client and make changes to the code that resides on you machine . This client however does not have write access to the depot so you will not be able to submit these changes to the server through p4.  You can still submit small changes that you consider useful by including them in a mail message and sending them to and these changes will be examined and submitted into the depot on your behalf.

If you plan to make heavy modifications to the code and want to have the capability of writing into the the depot send e-mail to in order to get a developer client. You should also subscribe to opentelecom  mailing lists.

Return to Open Telecom home page.