Help for developers
Contents:
It is not always obvious how to use the facilities offerd by SourceForge. Some developers are intimidated by the vast amounts of documentation available and have trouble finding out how to do even simple things. This page describes how to perform some common tasks. If you are not a member of the ABC project, this page is of little interest for you.
If you are a member of the ABC project and you have a problem with
the SourceForge facilities, ask Bert (bertv at users dot
sourceforge dot net
). He will try to find it out for you and
document it on this page.
Conventions used:
${SOMETHING}
is a variable and you should substitute it with a value that makes sense on your system. The${}
-notation is typical for UNIX-like systems. For Windows-systems, the notation%SOMETHING%
will be used.${USER}
or%USER%
stands for your SourceForge user name.- In code examples, comments are preceded by
#
Using CVS
In the following, it is assumed that you have basic knowledge of the CVS versioning control system. If you want to fresh up your memory, there are several manuals available on the web:
- Version Management with CVS by Per Cederqvist et al is the "official" manual for CVS.
- The CVS Book,Open Source Development with CVS by Karl Fogel and Moshe Barcan be downloaded in PDF format or read on-line
- SourceForge.net:CVS (Version Control for Source Code)
- WinCvs CVS Client Installation Instructions: how to set up CVS under Windows.
It is also assumed that you have CVS and ssh installed and that you know how to use it.
Uploading a new module to CVS
You've written the next ABC killer-app and you want to give it a home
at the ABC Music project. A very good idea, indeed! This is what you
should do. Assume that ${LOCAL}
or %LOCAL%
is the directory that contains the code that you want to add to the
repository. The name you want to give to the module is represented by
${modulename}
.
On UNIX-like systems
$ export CVS_RSH=ssh $ cd ${LOCAL} $ cvs -z3 -d:ext:${USER}@cvs.sourceforge.net:/cvsroot/abc import -m "My ABC killer app" ${modulename} vendor start
Check if uploading was successful and remove the old (non-CVS) version on your machine:
$ cd .. # Check out the CVS-enabled version of your program. # In this example, ${modulename} should differ from ${LOCAL}! $ cvs -z3 -d:ext:${USER}@cvs.sourceforge.net:/cvsroot/abc checkout ${modulename} # Optional: If uploading was successful, the following does NOT produce any output: $ diff -r ${LOCAL} ${modulename} # Remove the old version $ rm -rf ${LOCAL}
On Windows
On Windows systems, open a command prompt/DOS box and do the following:
> set CVS_RSH=ssh > cd %LOCAL% > cvs -z3 -d:ext:%USER%@cvs.sourceforge.net:/cvsroot/abc import -m "My ABC killer app" %modulename% vendor start
Check if uploading was successful and remove the old (non-CVS) version on your machine:
> cd .. # Check out the CVS-enabled version of your program. # In this example, %modulename% should differ from %LOCAL%! > cvs -z3 -d:ext:%USER%@cvs.sourceforge.net:/cvsroot/abc checkout %modulename% # Remove the old version > deltree %LOCAL%
From here on, you can use CVS as you're used to it. With every action, you will be prompted for your SourceForge password.
Updating the website
If you want to update the website, there's a few basic guidelines that should be followed at all times:
- The website is written in correct XHTML 1.0 and CSS 2.0. Please keep it that way.
- When you update the site, make sure that all the files you have changed remain group writeable (see below).
To update the website, do the following:
- First, get a local copy of the CVS module 'website'.
- Edit the files you want to change and commit the changes. Please provide a clear and to-the-point change comment.
- Login to the ABC Music project shell:
$ ssh ${USER}@abc.sourceforge.net $ cd /home/groups/a/ab/abc/htdocs
- This directory also contains a local copy of the website CVS
module. To apply your changes and set permissions:
$ ./update-site.sh