Be a developper
Working with CVS
Get last Transcriber version
Transcriber
project is put under CVS control on SourceForge Web site. The following procedure is for Linux but it should quite similar for other OS:
- Create an account on SourceForge. As there is a bug on SourceForge subscription, you have to redefine your SF password to be able to use CVS.
- Send an email to the administrator to be set as a developper
- Define SSH as the remote access method (it can be defined definitively in your
.tcshrc
)
setenv CVS_RSH ssh
- Define the default repository (it can be defined definitively in your
.tcshrc
)
setenv CVSROOT :ext:mantam@trans.cvs.sourceforge.net:/cvsroot/trans
- Check out (download)
Transcriber
project (-P prevents downloading removed directories)
cvs co -P transcriber
Get rid of password request
- Generate public/private key and enter your passphrase
ssh-keygen -t dsa -y
- Give your private key to
ssh-agent
:
ssh-add
- Log on your account on SourceForge website, and choose
account option
in the menu
- Then click on
Edit ssh keys for shell/CVS
and paste your public ssh key, ie the content of~/.ssh/id_dsa.pub
- Wait for a day before SourceForge updates its database
Send modified file to repository
- If you've modified
hello.c
and want to associate the comment"my file modification"
to it, then you have to type:
cvs commit -m "my file modification" hello.c
Source code annotation
The source code of Transcriber must be annotated in order to make the code as clear as possible for any developer. Firstly, all procedures must contain the following annotation pattern just after the procedure declaration:
#
# JOB: Job of the procedure
#
# IN: Procedure arguments and their description
# OUT: Value returned by the procedure and its meaning
# MODIFY: Global variables modified by the procedure
#
# AUTHOR: Author name
# VERSION: Version number of the procedure
# DATE: Date of creation or last modification of the procedure
#
Example:
proc ComputeSum {a b} {
#
# JOB: Compute a + b
#
# IN: a, first operand
# b, second operand
# OUT: result of a + b
# MODIFY: Nothing
#
# Mathieu MANTA
# Version: 1.0
# February 25, 2004
#
set x [ expr{a + b} ]
return x
}
Secondly, any variable, procedure or package should be named explicitly in order to make its use clear, exept for obvious cases. Thirdly, a set of lines whose goal is not so clear, must be commented.
Website
Download the website source code
scp -r your_login@shell.sourceforge.net:/home/groups/t/tr/trans/htdocs/ transweb/