On Oct 4, 2006, at 7:05 AM, inkfree press wrote:
(I am thinking about a script, say PHP or AppleScript, which breaks apart a file name string into constituent parts. This is sometimes helpful in automated file systems.)
here's the code already in cvs.module (well, in a patch[1]) for this, using the '--' delimiter: list($super_ver, $base_ver) = explode('--', $tag->tag); $super = explode('-', $super_ver, 5); $base = empty($base_ver) ? array() : explode('-', $base_ver); then, you've got 2 nice arrays to keep the 2 parts of your version string separate... ;) this also nicely handles the cases of regular branches that don't have the '--' (e.g. the default, stable DRUPAL-4-7 or DRUPAL-5 branch for a given contrib). keep in mind that the *file* names have nothing to do with this discussion. the subject says "CVS branch/tag conventions". the filenames will be like so: signup-5.x-0.1.tar.gz # official 5.x-0.1 release # 1st patch update release on stable DRUPAL-5 branch, from DRUPAL-5--0-1 tag signup-4.7.x-1.0.tar.gz # official 4.7.x-1.0 release # initial release off the DRUPAL-4-7--1 branch, from DRUPAL-4-7--1-0 tag signup-4.7.x-2.0-dev.tar.gz # nightly snapshot tarball from the DRUPAL-4-7--2 branch (no release tag) # (assuming there's no 4.7.x-2.0 release yet) once there's a 2.0 release, the snapshots will start being called "signup-4.7.x-2.1- dev.tar.gz, etc). ... # core releases would be unchanged: drupal-5.0-beta1.tar.gz drupal-5.0.tar.gz drupal-4.7.4.tar.gz ... make sense? -dww [1] http://drupal.org/node/84706#comment-142624 for the interested/ horrified reader.