Community & Support

Something I don't get about CVS

Hi fellows,

I've have been reading a lot of stuff on documentation about that issue but can't get it work the way I want.

MY GOAL : I just want to get the last update of all my favorite modules on my desktop.

This command works (But I get the HEAD revision, which is no good for production use.) :
cvs -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -d views -r HEAD contributions/modules/views

This command works (But I have to modify each cvs command for each my 40 modules) :
cvs -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -d views -r DRUPAL-6--2 contributions/modules/cck

This code fail (I see the folder correctly created on my Mac, then at the end of checkout the folder is deleted, weird) :
cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib co -d views -r DRUPAL-6 contributions/modules/views

Would the MAIN parameter, instead of HEAD, give me automatically the last stable version of a module ?
Or do I have to get for EACH module the last TAG version ? (In this case what is the power of CVS in front of WGET for example if I need to browse the CVS server looking the last version tag for each module)

I must admit there is something I miss here and I may have reach the limit of my geek power (which is weak)

So I am looking for the one simple command I can copy paste for all my module I want to check out ("Check out all last stable version for drupal 6")

Thanks for your help

Comments

Unfortunately CVS does not

Unfortunately CVS does not have all the information you need about which branch of a module is the current suggested production version. For example, a module maintainer may have stable code in DRUPAL-6--3 and experimental-non working code in DRUPAL-6--4. This information exists only in the project page.

So, as far as I know, you will need to specify the branch you want for each module, or get it somehow from your currently installed module's info or from the project info.

Some tool which is aware of project info could help, for example http://drupal.org/project/cvs_deploy

Thanks but

for my personnal knowledge does this mean that CVS does not provide a parameter saying that this particular tag is the last one stable (could be DRUPAL-6--3 for ne module and DRUPAL-6--4 for an other one but both tags have an other "meta" tag saying "this is the last stable version") ?

Thanks for your time though

No, as far as I know CVS

No, as far as I know CVS doesn't have this information. But even if it did, there would be other difficulties with switching branches.

When the current recommended production branch of a module eventually changes, sometimes there is a smooth upgrade between branches, other times there are instructions requiring you to do something unusual, and other times the project page states clearly that there is no upgrade path which preserves your data. People may complain about that, but in the end you can't ask a developer to do more work for free.

An important example with the views module: It can upgrade from views 1 to views 2, but there used to be issues with views previously created. Not sure if this has been fully resolved yet.

So, generally, it is safer to stay within a branch as long as you are going to trust the machine and haven't looked at the project page.

All right

That's a lot more clear for me now. I was sure I was missing something of logic here and I sure did. The "switching branches" issue is a real deal and my question about a "meta" tag saying "this is the last stable relaease" could lead to a real nightmare if, as you pointed out, views switch from branch 1 to 2 but keeping this "I am the last stable release" tag.

Thanks for your time, your were really helpfull (I'll find an other way around to solve my issue)

nobody click here