Contributor recipe guide
Note: this document covers modules, but themes, theme engines, and translations are essentially the same.
Adding a new module to CVS
First, check out the modules directory from the HEAD version of the contributions repository:
cvs -d:pserver:cvs_username@cvs.drupal.org:/cvs/drupal-contrib checkout -l contributions/modules
Next, copy your module files into the contributions/modules directory.
cd contributions/modules
cp -r ~/drupal/modules/foo foo
Finally, add your changes to CVS.
cvs add foo
cvs add foo/*
cvs commit -m "Adding foo module."
Saving changes to your module
Bugs and features are tracked in your project's issue queue. It is customary in the commit message to reference the node ID of the issue where the bug/feature request was raised, and mention any contributors who helped with the code.
cvs commit -m "#12345 by username. Brief description of changes."
Branching for a specific Drupal version
In order to make it clear which Drupal version your module is for,
Creating an official release
Once your module gets to the point where it is relatively stable, it's time to create an official release for it. You do this by tagging the module files. Here is an example that makes a "1.0" release of the Druapl
cd contributions/modules/your_module
cvs update -r DRUPAL-4-7 # updates to the end of the DRUPAL-4-7 branch
cvs tag DRUPAL-4-7--1-0 # creates the release tag for the "4.7.x-1.0" release.
Creating a development snapshot release of your module
In order to allow people to test your module while it is in development, you may wish to make a development snapshot. This will create a