Somehow, people got the bright idea that they should name their official release tags crazy things like DRUPAL-5--1-7-DEV, which creates version strings like 5.x-1.7-dev. For example, see http://drupal.org/project/taxonomy_fields

Of course, technically, this is legitimate, but it sure is confusing for everyone involved.

Any objections to adding a clause to our validation regexp to explicitly prevent people from including "-dev*" in the "extra" portion of a CVS tag?

Comments

Liam McDermott’s picture

For what my opinion is worth, that sounds like a very good idea dww. Sounds like the kind of mistake I'd make. :)

pwolanin’s picture

Does the "extra" need to be freeform at all? According to http://drupal.org/node/93999 it can be any cap letters/numbers, which seems like enough rope to hang oneself.

how about just limiting it to something like (ALPHA|BETA)[0-9]*

merlinofchaos’s picture

+1;

I thought -dev was already in the list of banned extra tags anyway.

Gerhard Killesreiter’s picture

+1

hass’s picture

Don't forget to allow RC (ALPHA|BETA|RC)[0-9]+.

And if there is a chance to force a naming scheme it would be good, too. Some people name their releases -alpha others -alpha1 and so on. I don't like names without numbers and it is nearly save that we mostly get more then one pre-release...

webchick’s picture

I would be all for locking down the strings entirely that can be put in a tag. This is easier for users (ALPHA is super buggy. BETA is less buggy. RC is about ready to go) and developers (Uh. There are so many ways to tag! What do I choose from?). I'm also +1 to consistent version naming conventions, (MAJOR.MINOR.PATCH, not MAJOR-MINOR_PATCH etc.) but that's less of a problem.

dww’s picture

Assigned: Unassigned » dww
Status: Active » Fixed

Sorry this took so long. I just committed a fix to the xcvs config file for the contrib repo and deployed it on cvs.d.o. I just tried this:

% cvs tag DRUPAL-5--2-5-dev signup.module
** ERROR: invalid tag for this directory:
** contributions/modules/signup
cvs tag: Pre-tag check failed
cvs [tag aborted]: correct the above errors first!
** See http://drupal.org/node/93999 for the format of valid release tags.

I added that link to the handbook page while I was at it. FYI, the regexp for valid tags is now:

 '@^DRUPAL-[567]--(\d+)-(\d+)(-(ALPHA|BETA|RC)[0-9]+)?$@'

I'll inform the devel list about this change, and probably I should mention something in the next CVS account-holders newsletter, whenever that goes out.

Cheers,
-Derek

dww’s picture

pwolanin’s picture

There is a draft newsletter here: http://groups.drupal.org/node/10776 I added a draft summary of dww's last comment.

Let's add some more such good stuff.

fgm’s picture

Status: Fixed » Postponed (maintainer needs more info)

That regexp seems to imply it is no longer possible to create releases in the 4.x branches. Is this actually fobidden now ? If so, this is a problem.

killes@www.drop.org’s picture

I wouldn't consider that a problem.

dww’s picture

Status: Postponed (maintainer needs more info) » Fixed

4.x had a different format (core had 3 digits back then), so it uses a different regexp. I just didn't paste it since I didn't think anyone still cared, but the one for 4.x is this:

'@^DRUPAL-4-[0-7]--(\d+)-(\d+)(-(ALPHA|BETA|RC)[0-9]+)?$@'

Enjoy,
-Derek

fgm’s picture

Great, thanks.

drewish’s picture

it'd be nice to have something a little more menacing for pretty unstable releases that you want people to test out... -unstable, -evil, -badnews something like that.

hass’s picture

ALPHA is evil and unstable. DEV is also unstable.

Michelle’s picture

"ALPHA is evil and unstable."

Not really. Alpha just means it's not done, yet. I just put out an alpha that works just fine.

Michelle

hass’s picture

ALPHA is a pre-release that contains possible upcoming features that could also removed in a later version and not feature freezed at all nor do they contain all features. APLHA versions are mostly broken or contain broken parts and are far away from feature complete and contain tons of bugs. They are only a very early development step. It is the perfect version for getting feedback if something that may go in will be accepted or not. If this is not evil - I don't know. :-)

Michelle’s picture

@hass - Alpha means pre-release period. It may contain bugs, sure, but it doesn't have to. There's no law I'm aware of against making well tested, usable alpha releases. There is nothing inherently "evil" about them. Having another tag to use when a release is really dangerous to use would be nice. Since core uses "unstable" that sounds good. +1 to that from me. I can see me using that if I need to release something I'm not sure of given that I've made a point of releasing usable alphas.

Michelle

webchick’s picture

Status: Fixed » Active

Sounds like this could use more discussion.

I asked for "unstable" because "unstable" means something totally different from "alpha." From http://en.wikipedia.org/wiki/Software_release_life_cycle (emphasis mine):

a [...] pre-alpha is issued before the release of an alpha or beta. In contrast to alpha and beta versions, the pre-alpha is not feature complete. When it is used, it refers to all activities performed during the software project prior to software testing.

The alpha build of the software is the build delivered to the software testers, that is, persons different from the software engineers, but usually internal to the organization or community that develops the software.

As a user, if I download an "alpha" version of a piece of software, I expect it to be more or less the same as the final product, plus or minus some features, and buggy but still usable. Unstable means what it says: these are for developers only and can blow up randomly in one's face.

webchick’s picture

Oh. And Unstable is preferable to Dev because Dev is a moving target... the dev snapshot of a module can change as often as twice per day. An Unstable tag is a snapshot in time and will always contain the same bugs and features, regardless of when it's downloaded.

dww’s picture

Status: Active » Fixed

'UNSTABLE' is now allowed, too. Do What Core Does(tm).

Michelle’s picture

Awesome, thanks, dww!

Michelle

pwolanin’s picture

would you mind updating the regex here? http://groups.drupal.org/node/10776

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.

Component: CVS » Other