#define _PAGE_ Accessing source code via CVS #include "head.t"
Just go here.
Every night at 6am CET, we build a source tarball and target .mod files from the latest CVS code. Get them here.
You, obviously, need to have CVS installed to do this.
Here is a complete list of the available modules:
We have a few other convenient aliases that gets several modules at once for you:
The examples below use the 'rockbox' module, since that is what most people are interested in.
If you are not a registered developer, use this method. When asked for a password, just press enter:
cvs -d:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox login
cvs -z3 -d:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox co rockbox
A "rockbox" directory will be created in your current directory, and all the directories and source files go there.
For this, you need to be added to the writers list by Rockbox administrators. After that, you can login with your username:
cvs -d:pserver:username@rockbox.haxx.se:/cvsroot/rockbox login
cvs -z3 -d:pserver:username@rockbox.haxx.se:/cvsroot/rockbox co rockbox
CVS is a "no-reserve" version control system. This means that you work on your local files without first reserving them. Any conflicts with other developers are detected when you check-in, or "commit" as it's called in CVS:
cvs commit filename
This will start an editor and ask you to describe the changes you've made. If you want, you can use the -m command line option to specify the comment right there:
cvs commit -m "This is my change comment" filename
Note: Before checking in modifications, test-build all targets (player, player-old, recorder, player-sim, recorder-sim) to make sure your changes don't break anything.
Since several people commit to the repository, you will need to periodically synchronize your local files with the changes made by others. This operation is called "update":
cvs update -dP
The -d switch tells update to create any new directories that have been created the repository since last update.
The -P switch tells update to delete files that have been removed in the repository.
Adding a file is very simple:
cvs add filename
If you are adding a binary file, you need to specify the -kb flag:
cvs add -kb filename
These changes, like any other change, has to be committed before they will be visible on the server.
Sometimes it is interesting to get a list of the status of your files versus those on the remote repository. This is called "status":
cvs status
The output from "status" can be rather verbose. You may want to filter it with grep:
cvs status | grep Status
To only list files who differ from the server, filter again:
cvs status | grep Status | grep -v Up-to-date
If you want to see how your local files differ from the CVS repository, you can ask CVS to show you:
cvs diff -u [files(s)]
The -u selects the "unified" diff format, which is preferrable when working with source code.
Subscribe to the rockbox-cvs list to get mails sent to you for every commit done to the repostory.
To join this list, send a mail to majordomo@cool.haxx.se, with the following text in the body (no subject) "subscribe rockbox-cvs".
Note that this may cause quite a few mails to get sent during periods of intense development. #include "foot.t"