Mnemonic How to access the CVS repository

General Info

Introduction
Screenshots
Mailing Lists and IRC
Alternative Browsers
Special Thanks

FAQ
Understanding Mnemonic
TODO list and ideas
Bug Reports


User Info

Download binaries
Platforms
Compiling Mnemonic
Other useful software


Developer Info

Core
Message modules
Library modules
Object modules
Coding Guidelines
Browse Source
Using CVS


View with any browser

Website questions to:
webmaster@mnemonic.org

Mnemonic questions to:
disc@mnemonic.org

 

Introduction

The Mnemonic project consists of several developers from all over the world all working with the same source code tree. To accomplish that in a smooth manner we have a central CVS server containing the tree.

So every time you want to change something you have to check out the tree from the server and then check in the files you changed. Each check in requires a log message that should describe what have been changed. The server is then keeping track of all changes done in the past as different revisions of the file, and any revision can be checked out.

To gain access to our server and set up a local client isn't to complicated we will here step by step go through what's needed to be done.

Readonly Access

Since this is a public project everyone has read access to the CVS repository. I assume you've already setup your CVS-client software (version 1.10 at least). If not, you can find the software and installation instructions at CVS Bubbles.

To set up your CVS client for read access simply set the environment variable CVSROOT to:

:pserver:guest@cvs.mnemonic.browser.org:/usr/local/cvsroot
important: do not forget the ':' at the beginning!. Then do a "cvs login" and type "mnemonic" when your are asked for password.

Now you can checkout the tree using the command "cvs -z3 co mnemonic". This will create a subdirectory "mnemonic" in the current directory, with the full sources of the Mnemonic Project in that subdirectory. Downloading of the sources may take some time, but CVS will tell you what's going on...

Write Access

Write access to our server is granted to everyone actively coding in the project. We are using ssh to transfer files to and from the server. This means that there are several methods to gain access. To do so, chose one of those described below and mail cvsmaster@mnemonic.browser.org the appropriate info.

The smoothest is in most cases to use RhostsRSAAuthentication. This means that a specific user on a specific host is given access. For this I need to know from which hosts you might show up and which user name you use there. There may be several hosts. If you for example have a dynamic IP number you have to give me all possible versions.

Another way is to use RSAAuthentication. This means that you have to generate a ssh key-pair for your private account and mail me the public part.

Yet another way is to use simple password access. That means that you'll have to type your password every time you do a check in or checkout, which seems like a lot of extra work. Therefor I suggest using one of the above instead. But if you prefer this mail me a password encrypted with a standard UNIX crypt() call (the same as used in a standard /etc/passwd file).

In all of those methods I also need you host key. If you have sshd running and I am allowed to connect to port 22 on your computer I am able to retrieve it myself. Otherwise you have to mail me that one too. Your client needs some configuration before you can use the write access to the repository. First of all, you need to set the environment variable CVSROOT to

:ext:<username>@mnemonic:/usr/local/cvsroot
where <username> is the user name you received from me as you where permitted access. Secondly, set the environment variable CVS_RSH to "ssh". Now add this to you ~/.ssh/config file:
Host mnemonic
HostName cvs.mnemonic.browser.org
Port 24
ForwardX11 no
Now you should be able to change the contents of the Mnemonic CVS repository!

Common Tasks

Here are a few common tasks that will help you get started in using the server. For a complete reference check out the CVS docs.

Checking out: cvs -z3 co mnemonic
This will create a subdir called `mnemonic' in which the entire source tree is placed.
Checking in: cvs ci -m "<Log>" [...]
If no files is specified the current directory will be checked in with the log message <Log>. If any files or directories are specified only those will be added.
Adding files: cvs add <files>...
This will schedule all the specified files for adding. They will be added when you check them in next time.
Removing files: cvs rm <files>...
This will schedule all the specified files for removing. They will be removed when you check them in next time.

Comments?

If you're having problems or questions with/on the Mnemonic CVS Repository, send mail to the cvsmaster, and we'll try to help you. If you have any comments on the website, please mail them to the webmaster