should we get a new logo? :-)    


Portable Fidosoft Project



What is Fido?
Husky Team
CVS Server
Husky Versions
Current Husky
Stable Husky
Debian Packages
What do I need?
Basic Files
Netmail utilities
Nodelist tools

What is CVS?

CVS is a source code repository maintenance system, which allows a group of developers located at distant places to work on the same source code over the internet. This sounds complicated at first, but using CVS is really easy, even if you have never used it before. If you want to contribute to the Husky project (and be it only for making some bug fixes from time to time), we suggest you install CVS and get a login to our CVS server. If you would simply like to browse the CVS repository, in order to do that online, go to

In the following, you can see a very little introduction how CVS works and how you should and can use it, once you have gotten your account. If you want to know CVS in more detail, please also read the documentation (info-pages) of CVS. They are very instructive.

  • Note: This description only covers the command line version of CVS. However, if you are using a GUI version, the steps are the same, but there might be some differences and problems.
  • All CVS commands require a connection to the CVS server.
  • Get CVS for your platform and install it. Please be sure to use at least version 1.10. Note for windows users:
    Please use cygwin version of CVS if possible - to prevent unexpected CR-CRLF translation.
    Do not use CVS under different platforms on the same work source tree.
    Do not use one working directory for more then one CVS connection.
  • Recommended settings for CVS (add to .cvsrc in your home directory):
      cvs -z3
      checkout -P
      update -P -d
      diff -c
  • Read-only access:

    If You have only retrieve and install latest sources follow the following procedure:

    cvs login
    and press enter where the password: prompted. (Login required for first cvs connect to this repository only.)
    cvs -z3 co smapi fidoconf ...
    to retrieve libraries and needed programs or
    cvs -z9 co .
    to retrieve all modules.

    To update existing sources tree use cvs up command instead co.

    Check the file ChangeLog for infrmation about source changes. If you upgrade a cvs version then always do a make clean before you get the next version from the cvs server. If you do not then in some cases there will be problems. It is also possible to browse the cvs repository to get individual files.

  • Read-write access:
    • If you want to use the CVS server with write access (you is developer), register self into and write mail to husky project manager, currently Stas Degteff
    • Read Project: husky: CVS page and doing as here write.
      (Set the environment variable CVS_RSH to ssh and Use cvsroot :ext:<developername> using '-d' cvs option or set the environment variable CVSROOT to.)
  • Get your work source tree:
    • Type cvs co . to checkout the latest version of the husky source tree of all modules on the cvs-server. A new directory for any module will be created in the current directory containing the sources.
    • Type cvs co <module> [...] for one or more modules. To get a list of all modules type: cvs history .
  • Do your modifications:
    • Please group them together to match one log message. Do not do thousands of completely different modifications that do not depend on each other. As CVS saves the log message you enter with every file you have modified it is not very clever to do a long list of changes.
      I.E., if you want to implement a new feature and fix a bug in an already existing module that is independent to the new feature, first fix the bug and commit the changes (see below) and then implement the new feature.
    • Make sure your sources are compileable!
  • To see what you or others have changed:
    • If you want to review the changes you have done type cvs diff . This will create a diff file. If you are using the above settings it will create a context diff which is IMHO easier to read.
    • You can also use cvs diff <file> [...] to only see the changes of the file(s) you have specified.
  • Update your work source tree:
    • Type cvs up in the root directory of your work source tree to update it. This is only necessary when other developers committed changes.
    • If there were conflicts, you will be notified by CVS and you have to resolve them by hand. CVS will save the two conflicting parts and mark them for you.
  • Commit your changes: (only non-anonymous users)
    • Type cvs ci [<file> [...]] to commit your changes. If you use cvs ci in the root directory of your work source tree, all modified files will be committed.
    • You will be asked for a log entry. Please read the notes in the template and enter a detailed description. This description will also be used in the changes.log.
      Note: if you are using a GUI version of CVS that does not use "CVS:" to mark comments in a template, you must remove all lines starting with "CVS:" by hand.
    • If you forget to update and another developer committed changes to the same file, your commit will be rejected.

Thanks to Michael Reinsch fom BTXE developers team for the original.

Last update: 13/12/2006
  SourceForge Logo