How to tag(?) different versions in CONTRIB CVS

How to tag(?) different versions in CONTRIB CVS

by Matt Gibson -
Number of replies: 11
Hi all,

I've got my block stored in CVS now, but want to mark two separate versions as I'm adding features. Not necessarily the same as moodle release versions - just 1.0 and 1.1. How do I do this and also, how do I then create sub-versions of each release to match 1.8, 1.9, 2.0?

I'm using both windows and Linux depending on where I am, so commands in either are good.

Thanks,

Matt


Average of ratings: -
In reply to Matt Gibson

Re: How to tag(?) different versions in CONTRIB CVS

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
cvs tag -RF MOODLE_18_STABLE

cvs tag -RF MOODLE_19_STABLE

No need to tag HEAD (2.0) as it's the trunk already.

If you have any trouble with this (you may run into restrictions I'm not sure) then file an issue in the Moodle Tracker (http://tracker.moodle.org/browse/CONTRIB) and Anthony Borrow (our brilliant CONTRIB manager) will sort you out.
In reply to Martin Dougiamas

Re: How to tag(?) different versions in CONTRIB CVS

by Matt Gibson -
Cheers Martin.

Is it normal practice to have a separate folder for each version I'm making, or are different files tagged differently within one folder?

Matt
In reply to Matt Gibson

Re: How to tag(?) different versions in CONTRIB CVS

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Oh, definitely not different folders. Files are tagged with multiple versions. Browse around in http://cvs.moodle.org for a while, eg:

http://cvs.moodle.org/moodle/index.php

and try the menu near the top to switch tags.
In reply to Martin Dougiamas

Re: How to tag(?) different versions in CONTRIB CVS

by Matt Gibson -
So...

Am I right in thinking that if I tag all the files as both Moodle_18 and Moodle_19 and then checkout two copies, one with each tag, then I can work independently on them, adding different things to each whilst CVS keeps track?
In reply to Matt Gibson

Re: How to tag(?) different versions in CONTRIB CVS

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Yep, that's the idea approve

Just one more thing, if you add a feature to BOTH 1.9 and HEAD, then tag that file with MOODLE_19_MERGED tag in the 1.9 copy to indicate that. Same for the 1.8 branch (use MOODLE_18_MERGED). That way you can always tell when you've done something in 1.9 (or 1.8) but forgotten to merge it to head (which means the feature will NOT be in 2.0). Hope that made sense!
In reply to Martin Dougiamas

Re: How to tag(?) different versions in CONTRIB CVS

by Alan Barrett -

While I understand the tagging you describe. It is not clear to me what is the mechanism that builds different versions of blocks or patches etc. (in CONTRIB). It appears to me that all that is built nightly is the HEAD branch. If MOODLE_19_STABLE versions are built in addition to HEAD, I cannot see where they are stored. Maybe Anthony will answer.

Alan.

In reply to Alan Barrett

Re: How to tag(?) different versions in CONTRIB CVS

by Anthony Borrow -
Picture of Core developers Picture of Plugin developers Picture of Testers
Alan - As I understand, if we were to create a 19STABLE branch the nightly build of the zip file would be located at: http://download.moodle.org/patches19/max_enrolment.zip; however, currently you only have a HEAD branch. Let me know if you would like a 19STABLE branch and I will create it. Keep in mind that then you will have two sets of code to maintain. Let me know if you have any questions. Peace - Anthony
In reply to Martin Dougiamas

Re: How to tag(?) different versions in CONTRIB CVS

by Matt Gibson -
Great. It all makes sense now!

However, if I want to make a second version of the block with a whole load of extra features, whilst preserving the first one, that would not suit a 'Version 2 'tag and would need a separate folder right?
In reply to Matt Gibson

Re: How to tag(?) different versions in CONTRIB CVS

by Anthony Borrow -
Picture of Core developers Picture of Plugin developers Picture of Testers
Matt - Usually new features get worked on in the HEAD version so I would not foresee a need to create a separate folder unless the project seems to fork. Peace - Anthony