Version Insanity

IceCreamYou - March 26, 2009 - 05:06
Project:Profile Setup
Version:6.x-2.x-dev
Component:Miscellaneous
Category:support request
Priority:minor
Assigned:Unassigned
Status:closed
Description

Hello there.

I like this module a lot. But the tagging you're doing through CVS is not only out of Drupal convention but also very difficult to follow what is the latest release.

Typically, a maintainer with a new module first creates a release like MyModule 1.x-dev. All commits are then added to that dev branch, and the 1.x-dev tarball gets replaced by Drupal.org automatically. Eventually there are enough fixes for a release, so the maintainer releases MyModule 1.0 (perhaps with MyModule 1.0-beta first).

Then maybe more bugs pop up, so the maintainer makes more changes. Again, those changes go in MyModule 1.x-dev. When there are enough changes, they get committed to MyModule 1.1.

Eventually the module maintainer might decide the module needs to be reorganized with a new API. In that case, there might be a new MyModule 2.x-dev branch, and there will eventually be a 2.0, 2.1, 2.2 release... etc.

In the case of this module, it seems like every small change is causing the entire branch to be bumped up a version! This makes upgrading the module difficult because there may be a 5.x-dev while there's only a 2.0 release.

So please, in the future, try to follow the module release strategy and have a look at the CVS quickstart if you need to. :)

Cheers

#1

thomjjames - April 20, 2009 - 02:36

Hi,

I'm really sorry for the version mess, I'm new to CVS and I find it almost cryptic at times, I know documentation is there but in practice I can't get the recommended methods to work or it just confuses me more, is there any practical idiot proof instructions anywhere? i'm using tortoise CVS.

I just made a 6--2-1 tag for a bug fix as you suggested but when I tried to commit the changes I made I got a "Resolving a 'sticky tag is not a branch' error" (http://drupal.org/node/57516) and the only way i could resolve it was making a new 6--3 branch, sorry :(

Can I do anything to sort my versions out?

Tom

#2

IceCreamYou - April 20, 2009 - 20:52

Well, the only way to change CVS branches and tags is to contact a CVS admin, usually on IRC or with an issue in the Drupal.org Infrastructure queue. I think in this case they would be inclined to help, but it may be more trouble than it's worth at this point.

TBH, I agree with you: CVS is incredibly cryptic and difficult to understand, and the documentation seems mediocre at best. I could never figure it out so I ended up choosing a free program with a graphical UI, SmartCVS. Now I don't have to memorize commands and it's relatively easy to use.

If you get a CVS admin to help reorganize your tag structure, before you make your next CVS commit you should delete your local repository (hopefully you have your development files in another location, if not just move them) and check out the module fresh from the CVS folder. Then copy your dev files over the checked-out files; SmartCVS will identify the changed ones. If the files are new, then add them and then commit them and then add them to a branch. Just commit them if they're not new, or add them to a new branch if you've changed the API (you don't need to add a new branch each time you wish to tag a new official release). SmartCVS keeps track of what branch you're in and there's a column in the UI that tells you which branch all the files you're seeing are in. When you want an official release, tag all the files that are in the correct branch with a new version number (DRUPAL-6--2-4).

Hope it helps.

#3

thomjjames - April 21, 2009 - 04:13

Thanks a lot for your help, i'll work on sorting out the mess before i make my next commit.
SmartCVS looks great!
Cheers
Tom

#4

thomjjames - October 14, 2009 - 14:55
Status:active» closed
 
 

Drupal is a registered trademark of Dries Buytaert.