The ImageMagick source is available via anonymous CVS. This is a convenient way for developers from around the country or world to download the ImageMagick source, fix bugs, or add new features. The source tree for ImageMagick is stored on `cvs.imagemagick.org`. To access the tree you need to first set up your CVSROOT environment variable so that cvs knows where to go to grab the source from. The proper value for CVSROOT is:

        :pserver:anonymous@cvs.imagemagick.org:/ImageMagick

For example, in tcsh do:

        setenv CVSROOT :pserver:anonymous@cvs.imagemagick.org:/ImageMagick

In a bourne shell descendant (e.g. bash) the following syntax has to be used

        export CVSROOT=':pserver:anonymous@cvs.imagemagick.org:/ImageMagick'

Or whatever the approriate syntax for your shell of choice is.

Alternatively, you can specify the cvs root directly on the command line:

        cvs -d :pserver:anonymous@cvs.imagemagick.org:/ImageMagick

Next, the first time the source tree is checked out, a cvs login is needed.

        cvs login

This will ask you for a password. The password is anonymous. Enter it and press a carriage return.

To get the tree and place it in a sub-directory of your current working directory, issue the command:

        cvs co -P ImageMagick

Or to save bandwidth get the compressed version, type:

        cvs -z3 co -P ImageMagick

To update the sources within a checked out directory execute

        cvs update -P -d

and only the files which have changed will be updated.

The available modules relating to ImageMagick are:

  ImageMagick (core sources)
  ImageMagick-NT (everything needed for Windows)
  ImageMagick-World (everything related to ImageMagick)

To check out the ImageMagick source for NT, try this commmand line:

        cvs -z3 co -P ImageMagick-NT

If you require a specific release of ImageMagick, you may check it out like

        cvs -z3 co -r ImageMagick-6_0_3 -P ImageMagick

where the "ImageMagick-6_0_3" is the release branch tag. You can use

        cvs status -v README.txt

from within an existing checked out directory to see what branch tags are available.

You can use

        cvs -z3 update -r ImageMagick-6_0_3

from within an existing checked out directory to move it up (or down) to that release branch.

Once a release has been tagged, checking out from a release branch is the only reliable way to obtain release files from CVS since the default is to always check out the current development sources, which may not be stable or released.

CVS Command Summary

Here is a summary of CVS commands. See the CVS Home Page for detailed information and documentation about CVS.

Action | Result
add | Add a new file or directory to the repository.
get | Make a working directory of source files for editing.
commit | Apply changes to the source repository (write access).
diff | Show differences between local files and the source repository.
history | Show reports on cvs commands against the source repository.
log | Display CVS log information.
rdiff | Prepare a collection of differences reflecting changes between release.
status | Show current status of files in the repository and local copies.
update | Bring your working directory up to date with the repository.

The anoncvs tree is only updated once a day or so, so updating more than once a day serves no purpose. Also, using compression levels over `-z3`,may actually slow the CVS transfer since they require the CVS server to work much harder, yet doesn't compress the data much more.

CVS Software

The best place to look for the latest version of CVS is at the CVS Home Page . There is also a lot of infomation and documentation about CVS available.

"Image manipulation software that works like magick"