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.
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.
Is it normal practice to have a separate folder for each version I'm making, or are different files tagged differently within one folder?
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?
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.
(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 )
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?