CVS/En

From TuxFamilyFAQ
Jump to: navigation, search

CVS repository



Description

CVS is a client/server coding tool that allows more than one person to commit code to the same software repository. CVS stores all versions of your software during the entire the development cycle. CVS also support merging code from two branches.

While CVS is historically important, we recommend that new development projects use Subversion which provides more advanced features to manage their source code.

Dependences

Creation

  • connect on the Panel
  • Select the group that will receive the new repository
  • Use the create button in the CVS section
  • Choose a repository name and validate the form.

Creation tips

  • Please do not choose a too generic name :) "repository, cvs, sourcecode" please be original !
  • As usual, fill up correctly the description field to avoid troubles with our moderators ;)

Moderation

This object is moderated. Please see the Moderation page

How to configure it (panel)

The only option you have on the panel is to choose if the repository should be public or not. This will allow anonymous checkout and browsing your code through the webcvs.

Configuration

As said below, a public repository can be accessed via the pserver and via TuxFamily's viewvc. A private one will require a login in any case.

How to manage my group's rights on this object

You can give some privileges to people of your group by using the ACL

How to destroy it

  • login on the panel
  • Select the group of your CVS
  • select the CVS repository you want to delete
  • use the delete button

How to use it

Using CVS as an user

First you have to set the CVSROOT variable.

export CVSROOT=:ext:user@cvs.tuxfamily.org:/cvsroot/YOURGROUP/YOURCVS

with:

  • user is your username on the panel
  • YOURGROUP is the group that owns the CVS repository
  • YOURCVS is the name of your repository

You can now happily commit all your crap ;)

Anonymous use of your CVS repository

Anonymous access was removed circa 2015 because cvs pserver support was removed in Debian Wheezy, documentation is left for reference purpose.

If your CVS repository is public, you will be able to do anonymous checkouts. first, set the CVSROOT variable :

export CVSROOT=:pserver:anonymous@cvs.tuxfamily.org:/cvsroot/VOTREGROUPE/VOTRECVS

To checkout a module, type :

cvs co MYMODULE

To checkout the whole project:

cvs co .

Team coding

All the users of your group will be able to commit on the CVS. As an consequence, if you want to allow people to code on your soft, ask them to create an account on TuxFamily and then add their users in your group.

Using web interface

You can browse your repository here :

http://cvs.tuxfamily.org/GROUP/CVS/

for example : http://cvs.tuxfamily.org/tftest/tftest/

For those who don't have the choice

If you have to work on a dirty operating system (between two system crash) without any way of using a clean and Libre OS, use at least a free software for your commits. for example TortoiseCVS (GPL)

You should read this howto : http://pole-modelisation.univ-bpclermont.fr/pub/tortoisecvs.php and if you want to upload your ssh key with tortoise : http://brian.fraval.org/documentation/cvs/book1.html

Tricks and Tips

  • SVN is more powerful ;)
  • You can upload your SSH key ont TuxFamily's servers. This will allow you not to type your password each time that you do an operation on your CVS repository.

Please copy your key in the file ssh_keys that is in your home directory. Don't forget to chmod 700 this file to be sure that you only can access it ;)

Useful links