Working with Xmlrpc-c CVS

Use Subversion Instead

Until September 22, 2007, the source code for the Xmrpc-c project was kept in a Sourceforge CVS repository. Now, it is kept in a Sourceforge Subversion repository instead. We abandoned CVS because Subversion is more sophisticated and provides more functions.

The Subversion repository contains all of the history that was in the CVS repository, apart from some odd branches. But you can still use the CVS repository if you find a need. The instructions below are the original instructions from when project code management used the CVS repository, so much of it is just historical.

Sourceforge CVS

For Sourceforge's information on this topic, see the Sourceforge project CVS page.

Just Looking

If you just want to look at some current development code (or past code) quickly, you can simply browse it with ViewVC.

Working With The Code

To check out a release from CVS, do something like this:

    $cvs -d :pserver:anonymous@xmlrpc-c.cvs.sourceforge.net:/cvsroot/xmlrpc-c login
    [hit ENTER at password prompt]
    $cvs -d :pserver:anonymous@xmlrpc-c.cvs.sourceforge.net:/cvsroot/xmlrpc-c checkout -r release_1_03 xmlrpc-c
This creates a directory xmlrpc-c in your current directory and fills it with the Xmlrpc-c source tree. This is known as the CVS working directory.

The -r option above is what says which release to get. The option value is a CVS tag, which you can find in the change history. If you omit the -r option, you get the head version, which is code currently in development and destined for the next "advanced" release.

When you check out from CVS, you get something slightly more raw than the release tarballs. You must run GNU autoconf to create the configure program and related files. If you don't have GNU Autoconf, you'll have to get it from the GNU Project.

After that, you can look at the README file and proceed the same as for the release tarballs.

Once you've done a CVS checkout of the head version, you can periodically do

   $cvs update
from the xmlrpc-c directory to download any recent updates (the head version changes as developers check in work for the next release).

If you are modifying Xmlrpc-c, do it right in the CVS working directory. When you're done, use a cvs diff -u command to generate patch of your changes. Email that patch to the Xmlrpc-c maintainer for inclusion in the package.

If you decide to throw away your changes, the easiest thing to do is delete the changed files and do a cvs update to replace them with the version from the package.

See the Sourceforge Xmlrpc-c CVS page for more details.

Staying Current With a Stabilizing Branch

Each Stabilizing release series (based on a single Advanced release) has a CVS branch. The branch tag is named like release_1_06.

For example, to check the branch of 1.06.xx releases:


    $ cvs checkout -r release_1_06 xmlrpc-c


Assuming the latest release in that series is now 1.06.07, that's what you get with that checkout. Now, assume 1.06.08 gets released. To update your working directory to 1.06.08:


    $ cvs update


In the examples, we have glossed over details of logging in and specifying a root (-d), covered earlier.