[an error occurred while processing this directive]
CVS Is Not That Scary
or Get Your Stable GIMP from CVS
Contributers: Branko Collins, Rodney Dawes, Will Lashell, Roger Leigh, Mitch Natterer, Sven Neumann, Raphaël Quinet, Manish Singh, Carol Spears, Nathan C. Summers, Jeff Trefftz, Lourens Veen, Chris Want, (and Kirstens grandparents).
This document is intended for people who don't know very much about CVS served software. It assumes experience compiling The GIMP from a tarball (how to in 2 weeks!). The author was afraid of CVS when first starting but now loves it and is even going to proofread GIMP source and make her own commits!
CVS may seem like a dreadfully frightening way to get GIMP, but it is really a lot easier than it seems. In fact, if you want to stay up to date with The GIMP, CVS is the fastest and easiest way to do it. The following describes the basic procedure for setting up GIMP from CVS on your GNU/Linux machine.
The first step is to download and compile
The GIMP tarball.
This will help to clean any distribution problems up and give you experience with modern gimp compiling. This will also ensure that all libraries needed for building the plug-ins are correctly installed on your system (e.g., TIFF, PNG, JPEG, MPEG, perl, Gtk-Perl, etc.)
The second step is to see if you have CVS packages installed. Type cvs --version. If you get a list of the cvs help options, you are in business. If not, you should follow your distribution or system admins instructions on how to install the CVS software on your computer.
First Gets
Introductory Steps
-
The first thing to do is to create a directory to use for CVS. Open a terminal (like xterm or GNOME terminal). Create your directory. For example, with mkdir cvs. Change into the new directory (cd cvs). CVS installs itself into nicely named module directories. Next you need to set the CVSROOT variable. With bash-like shells, select and paste or type:
export CVSROOT=':pserver:anonymous@anoncvs.gimp.org:/cvs/gnome'
-
Be sure to copy this
cvsrc
into your home directory (~/.cvsrc). This file contains some preset flags to help make your CVS experience nice for everyone. A brief introduction to your .cvsrc file:
- cvs -z3
-
z tells cvs to compress the communication between you and the server. The compression level is 1 to 9 with 9 being the highest. The the maintainers of the GIMP CVS server ask not to use above 3, because the compression gain is minimal but it dramatically increases the processor load on the server. The communication beteween the server and you is compressed. The files are not compressed on your machine unless you are one of those people who consider patching a form of compression.
- update -Pd
-
P tells cvs to actually remove directories that have been removed on the repository (if there isn't anything in your machine, that is) d tells cvs update to recursively update all of your subdirectories.
- diff -pu
-
p adds the name of the changed function to the generated diff. This is a matter of taste, as it helps mostly when reading diffs. u makes the patches in unified diff format, which is widely considered both the most readable and the most robust patch format. However, the options -p and u are non-standard extensions of the GNU diff command that are not supported by all versions of diff, especially on systems other than GNU/Linux (Solaris, HP-UX, IRIX, etc.) If your system does not understand -u, you should use diff -c instead.
- rdiff -pu
-
Prepare a collection of diffs as a patch file between two releases in the repository. (Does not change repository or working directory.) rdiff flags are the same as the diff flags.
Once this file is installed, you really don't need to think about the information. It is presented here so that you know what you are doing with it and why.
-
Now is when you start needing an Internet connection. Just to warn you, the first time updating CVS will take a while. If you pay for use, do this at an off time. When you update later, it will be MUCH faster than downloading a new RPM, deb or tarball. This is part of what makes CVS so great for people with expensive net connections.
-
Next, you have to log in to cvs with the command cvs login. There is no password for the anonymous login, so just press return. You should only need to log in this first time. The password will be stored in a file in your home directory (~/.cvspass).
-
CVS is like a tree. Different versions of a program are in
different branches. GIMP is usually in two main branches: HEAD,
the unstable development version, and a stable branch that gets
only bug-fixes. Unless otherwise specified, it will get the HEAD
version. To tell it to get the stable version, enter
cvs checkout -r gimp-2-2 gimp. It will then remember this
branch for future updates until you tell it another one.
These introductory steps need to be taken only the first time. When you are able to successfully download the module, you need never worry about these steps again.
Updating
Later, when you want to refresh your versions, go into the cvs directory and type cvs update. To refresh just one module, go into the subdirectory for that module and enter cvs update. As simple as that.
Compiling
The first time you compile anything it can be complicated. Rest assured, GIMP is no exception. For help with compiling your fresh stable gimp checkout,
see the Build Your Stable GIMP from CVS how to.
[an error occurred while processing this directive]