User login


Repeated testing of core patches with CVS

catch telling chrisshattuck in IRC: I keep one checkout + db, reset the checkout with cvs -q diff | patch -p0 -R and usually re-use the database until it's completely dead.

Creating a patch with Git suitable for submitting to

Take the hash of a 'before' commit and the 'after' commit 'sha' hash and stay relative to the current directory and output a patch:

~/code/dgd7/drupal/sites/all/modules/views$ git diff --relative 5ac40a1 cb64d08 > 817748-views-book-hierarchy-sort-12.patch

If you've merely made the changes but not committed them you can use git diff > patch_name-1234-57.patch or if you've staged but not committed you can use git diff --cached patch_name-1234-57.patch.

Update Drupal core for fresh testing

cvs up -dP

If you want to completely wipe the slate clean, you can also do:

cvs up -dPC

Be careful with the C. That will overwrite anything in core you are working on.


CVS commands for branching a Drupal 5 module to Drupal 6

following add1sun's page:

Ebony-II:~ ben$ cd /RCS/
Ebony-II:RCS ben$ mkdir projects
Ebony-II:RCS ben$ cd projects/
Ebony-II:projects ben$ export
Ebony-II:projects ben$ cvs login

Logging in to
CVS password:

How to CVS checkout best release of all modules of a given Drupal version [unresolved]

Adapted from my comments at mroswell's question about downloading all Drupal 5 modules with CVS on the Drupal Groups site. (The person who would know if anyone would, dww, says there's not a solution yet.)

Command to check out all contributed modules with a given branch tag. The name of the directory you want to check out into follows the "-d" and can be any name you want. I gave it such an odd name (alld5modules) to try to emphasize that fact :-P

Reset your Drupal checkout so that it is clean and ready to try more patches

$ cvs update -C
(Locally modified moved to
(Locally modified node.module moved to .#node.module.1.974)
(Locally modified moved to
(Locally modified taxonomy.module moved to .#taxonomy.module.1.425)
(Locally modified taxonomy.test moved to .#taxonomy.test.1.3)

[... and a ton more stuff]

cvs update -C will move all the files you have changed to a renamed file and bring down the originals again.


Adding a new version of Drupal core to Agaric's Piston-enabled deployment system

cd /RCS/agaric/drupal-core/
cvs -z6 co -r DRUPAL-6-3 -d drupal-6 drupal
sudo svn add drupal-6
sudo svn commit -m "Drupal 6"

drupal-6 and DRUPAL-6-3 need to be replaced with the major release and point release that you are dealing with (though with luck we'll have moved from CVS soon and this will all be moot).

Using CVS for developing modules

We can commit to CVS and use it just like we use subversion to manage our sites. No more trying to develop a module in subversion and contribute changes to CVS, just do everything in CVS. It's not that much worse than SVN.

Don't believe me? Watch:

Checking out your contributed module from CVS to work on it more

cvs -z6 checkout -d term_message contributions/modules/term_message

This was a module with a dead head, so I also had to do this (I could have put the -r DRUPAL-5 into the above command immediately after the checkout).

Ebony-II:term_message ben$ cvs update -dP -r DRUPAL-5
cvs update: Updating .
U term_message.install
U term_message.module

Syndicate content