My CVS Workflow for Updating a Theme on

Drupal CVS <ugh> Druplicon FrownFrom time to time, I've had to update my airyblue project in CVS (Airy Blue is a light, airy, Zen subtheme listed on's Themes section). It's always a bother, and I always end up spending about 20 minutes figuring out how to check out the module to my local computer (I use three of them, so even if I have it set up on one, I need to get it going on another sometimes), then another 20 figuring out how to commit my changes, tag a release, etc.

So, this post might be titled "How to Maintain a Theme on if You're Confounded by the CVS Guide for Theme Maintainers, and you are on a computer on which you haven't checked out your module yet."

Logging in, Setting up CVSROOT

  1. Open up Terminal (on a Mac) and navigate (cd) to your CVS folder.
  2. Enter export CVSROOT=:pserver:&lt;username&gt;
    (This will set your CVS 'root' to the right directory. Enter your username where it says <username>).
  3. Enter cvs login to login, and type in your CVS password when prompted.
  4. Type in cvs checkout -l contributions/themes
  5. Type in cvs checkout -d contributions/themes/&lt;themename&gt; contributions/themes/&lt;themename&gt;

After you do this, you should have the latest version of your module checked out into your local folder. Now, edit the files however you'd like, and test them locally to be sure your changes are correct. Next you have to commit your changes (don't do this yet if you've added or removed any files or folders*):

  1. In the same Terminal window, type in cvs commit -m &quot;Explanation of changes.&quot;
  2. Finally, you have to tag your release before you can go to the project page on and create a new release of your theme. Type in cvs tag DRUPAL-6--1-1 (or whatever tag you need - in my case, it was DRUPAL-6--1-5 for 6.x-1.5).

Now, go back to your project page on, and click the 'Add new release' link under the Download section. In the release notes, you should reference all the issues you addressed in this release cycle, by typing them in as follows: [#552912] (the number should be replaced by issue's number as seen on

*If you added or removed any files, you will need to tell the CVS server what you did:

  1. For a new directory, type in cvs add &lt;directory&gt;
  2. And to get all the files inside that directory added, type in cvs add &lt;directory&gt;/*
  3. To remove a file or directory, type in cvs remove &lt;filename&gt; or cvs remove &lt;directory&gt;