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
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.
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.
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
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
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.
http://cvs.moodle.org/moodle/index.php
and try the menu near the top to switch tags.
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?
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?
Yep, that's the idea 
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!
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!
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.
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 Anthony Borrow
Re: How to tag(?) different versions in CONTRIB CVS
by Martin Dougiamas -
Anthony is quite right there.
(Just ... please use the download script for the links
The other one works but won't get added to download stats
eg http://download.moodle.org/download.php/patches19/max_enrolment.zip )
Cheers!
(Just ... please use the download script for the links
eg http://download.moodle.org/download.php/patches19/max_enrolment.zip )
Cheers!
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?
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?
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
Got it! I'm good to go now 