1. Installation of required files. ================================================= The amount of apps you will need depends on a kind of repository You will be using: public or private. Because of security reasons, private repositories require additional SSHv2 client. For public one CVS client is enough. If You are using AmigaOS, You have several choises of CVS client. Probably the best one can be found on In case You are a MorphOS user, You probably have already installed MorphOS-SDK, which includes CVS client (among other tools). You may only need to update Your client to the lates version which can be found on my home page If You want to work on a private repository, You will need (as i mentioned above) a SSHv2 client. Here AmigaOS users may be in some trouble, because i was not able to find any version of SSH which would work with AmigaOS. MorphOS users are in more comfortable again. I prepared the needed software for them some time ago and it can be found on my homepage . I hope something working on AmigaOS will make a port of needed software. He can count on a help from my side. Just write. 2. Preparing CVS for work. ================================ I will base it on CVS for MorphOS, because this is the one I'm using. If You are using version for 68k from http://amcvs.light-speed.de then You will find needed informations in it's documentation. First what have to be done, is setting some environment variables. a) SetEnv EDITOR save "Ced -keepio" In EDITOR variable You need to specify working text editor, which will be used (by CVS) to get all kind of log messages. It's important that the editor have to block the shell after starting and give it away after saving file and exiting from the editor (the -keepio param for CED). b) SetEnv CVS_RSH save ssh You will only need it when You are using private repository. c) As a last thing, You have to set up some CVS options. First of all, make an empty file called .cvspass in Your home dir (HOME dir is set in a preferences of Your internet access application). Echo > HOME:.cvspass Second, You need a .cvsrc file in the same directory. This file have to contain: cvs -z3 checkout -P update -P First option tells the CVS client to use compression during data transmition and should be always there. Next ones are telling CVS to not leave empty directories. When it's ready, then CVS is ready to work. Only thing left is a small trap waiting for You if You are using Miami. CVS is keeping it's settings in HOME dir, and even if Miami let's you to do it (and you should have it set properly), after starting it (Miami) it sets user as 'nobody' and CVS can't find it's files. To fix it, use 'login ', and the home dir will be properly recognized. Unfortunately it's needed each time You will want to use CVS or SSH (after a reboot) (needed 'login' command and libraries can be found on my homepage: www.tbs-software.com/morgoth). 3. Using a repository (public) ========================================= To work with CVS, You should start by making a directory where You will be keeping Your projects. I propose to split it into 2 parts. For public and private repositories. MakeDir /Castor MakeDir /Castor/Public MakeDir /Castor/Private a) Logging to CVS server: Before You will be able to do any operations on CVS, You have to login. I assume that Your CVS is properly installed and all files are in place (as described in #2). If Yes, then loging operation it trivial and comes to typing: cvs -d :pserver:@castor.icis.pcz.pl:/var/cvs/public login Where have to be replaced by a name that was given You at CVS account creation. After that You will be asked for a passwork, which for public repositories it the same for all: public There is also 'logout' command, but You will not have to use it. Loging process is done only once and doesn't have to be releated (If You have user and homedir setup properly, that is). b) Importing a project: I assume, that a project You are working on is not on CVS and You want it to be there. Nothing simplier if You have everything setup as mentioned above. First, You need a directory in which a whole project tree will be kept. General rule said, that on CVS You shouldn't keep binary files (executables, libraries), but only sources needed to create them. If You have a directory with files selected like that (somewhere outside CVS directory structure) then You are ready: Now when beeing inside project's root directory, do: cvs -d :pserver:@castor.icis.pcz.pl:/var/cvs/public import -m "Initial import" vendor start Where is the name You used during loging proces, and is a future name of a project's repository. After that, sources will be sent to CVS server, and only thing You have to do now is to checkout (download) new directory tree (will talk about it in next point). In general, importing sources is done only once and eventual changes in directory tree are done using CVS commands 'add' and 'remove' described later. c) Checking out a project: Every project You want to work on (even the one You imported a second before) must first have to be download to Your disk in a form which will let CVS work with it (this will include special CVS directories which You must NEVER delete or modify by hand). This will be now described. First, enter the directory in which You want your project to reside (Your projects directory for example) and call: cvs -d :pserver:@castor.icis.pcz.pl:/var/cvs/public checkout Where is a name You used during loging, and is a module name you want to download ( for example the one You imported a moment ago). After a while the project will be on Your disk in a form it was imported. Now You should work on these sources. Similar to import, checkupt is only done once. d) Basic operations needed used when working on repository. I assume, that You have the repository You want to work on your HD (by checking it out). From now You will be working on these sources You can experiment freely on them. No changes will be made on the last version You took from the server. But if You think You made a progressm code is stable and runs fine, You may want to update version on the server. You need to commit the changes. CVS will compare Your files with files on the server and update only needed ones. To do it, type: cvs commit After this command, CVS should run text editor (this is why You needed EDITOR variable) in which You should type a short note about changes made to the project. Thanks to that all developers working on a project will know about new things and why they happened. This nessage (together with a list of changed files) will be sent to all people on the mailing list (in case of private repositories to the private mailboxes). For example if Your changes were done in a function related to memory allocation, a note may look like this: "fixed a bug in memory allocation routine" What if someone else commits a changes and You want them too? Enter a dir with Your project, and type: cvs update It will make CVS to update the files that were changed since You last updated or made a checkout. If You notices, 'cvs commit' will only check files that were present when You were importing a project. Other files will be ignored (object files, executables, etc). But What if You want to add or remove files? Just use these: cvs add cvs remove These will add or remove files from the repository on CVS server. Please note before you can call remove command you must delete this file from project directory or add a -f switch to command. e) ... The information here are just a small part of CVS possibilities. It will not describe all it's functionality and advantages. It will only make You start working with it. For more informations check: http://sourceforge.net/docman/display_doc.php?docid=14033&group_id=1 http://cvsbook.red-bean.com/cvsbook.html For any questions, ask on the mailing list or email me at . PS. ThX for translation goes again to Kiero ;) Say big ThX to him !