@Issac [uhhh, you really should have started a new posting. ;)]
Have taken Moodle 2.2 to 2.4 via git but that was on a system I maintain/manage - a CentOS system. That's not to say you cannot do same on your system. 2.2 version was upgraded to 2.3 before taking site to 2.4. Directions below are for CentOS-ese ... translate to whatever Linux flavor you use.
First things first ... do you have git installed?
whereis git
or
git --version
will tell you.
First thing I'd advise is to backup everything ... the moodle code directory, the moodle data folder (one tar ball ought to do it), and a mysql dump of the database. This becomes your 'fall back' position on any hickup on your system (and that also assumes one can restore the entire site).
Second thing I'd advise is getting your current 2.2 to the highest of that series using git and off CVS before attempting move upwards.
Here's how I suggest getting off of CVS and taking site to the highest of 2.2 - the first step.
As root user, and at the same folder level as your current Moodle web root folder (on a CentOS system /var/www/html/ (on a Debian box that might be different and in the following commands you might have to prefix them with 'sudo') get the moodle code for the highest in the 2.2 series into a 'moodlegit' folder:
cd /var/www/html/ (currently active moodle web folder is in here)
git clone git://git.moodle.org/moodle.git moodlegit
Above creates a 'moodlegit' folder for you.
cd moodlegit
git branch --track MOODLE_22_STABLE origin/MOODLE_22_STABLE
git checkout MOODLE_22_STABLE
cp ../moodle/config.php .
(this copies the config.php file from the current moodle folder into the moodlegit folder [don't leave off the '.' above].)
chown apache:apache ../moodlegit -R
cd ../
mv moodle moodle.back
mv moodlegit moodle
IF you have any add-ons/theme additions, etc. one can copy them from moodle.back into the appropriate directory of the new moodle directory.
Example:
cp -rp moodle.back/blocks/addedblock moodle/blocks/
This copies recursively and keeps ownerships/permissions.
or for a theme:
cp -rp moodle.back/theme/myadded_theme moodle/theme/
Hit your moodle site with a browser and login. You should be thrown into upgrading to the highest 2.2.x available.
When one gets to the check page, if you have forgotten to get some add-on, you'll see 'missing from disk'. Go to command line again and use the cp -rp moodle.back/[whateveritem] method to get those items missing. Don't forget to reload the check screen. Everything checks out?
After you have throughly tested the new git site, it would be safe to move the moodle.back folder into an archive.
**Test everything** before the next step. If there is something not working, fix it now!!!!
Everything working? Then run another full backup ... moodle code directory, moodle data folder, and mysqldump of the DB.
Process is the same for taking 2.2.x to 2.3.x following the same steps and the only thing different are the two lines pertaining to version. For 2.3.x ...
git branch --track MOODLE_23_STABLE origin/MOODLE_23_STABLE
git checkout MOODLE_23_STABLE
and finally to 2.4:
git branch --track MOODLE_24_STABLE origin/MOODLE_24_STABLE
git checkout MOODLE_24_STABLE
After each upgrade and testing ... make a full backup!
After each upgrade and testing ... make a full backup!
After each upgrade and testing ... make a full backup!
Uhhh, did I mention to make a full backup after each upgrade and testing? ;)
'spirit of sharing', Ken