[Phpwm] Version control - project organisation

Tim Williams T.M.Williams at cs.bham.ac.uk
Thu Aug 27 17:33:02 UTC 2009

I manage multiple installations of Moodle for a variety of clients and 
uses (not all of them eLearning). Some of the Moodles have modifications 
to core code, some have additional plugins compared to the standard 
base. My current approach is similar to yours, I keep a note of whihc 
Moodle version any given installation was based on, whether or not the 
core code was patched and if there are any non-standard plugins. I also 
keep a copy of all the Moodle installation files which i've used.

When I need to upgrade a server, i'll find the original unmodified 
installation file for that Moodle and use 'diff -bur' to compare it to the 
actual modidied installation. I can then use patch to apply the full set 
of modifications to the new Moodle version. diff will also list all 
of the files which are missing in the new version compared to the old one, 
so I know what extras need to be copied accross. For a minor point release 
upgrade, I can often have the server back up in 10 minutes or so for a 
single site. For a major release the patches will sometimes need to be 
manually re-written if diff can't cope with them.

You can use tools to speed the process up, I know of a Moodle admin who 
had used a set of scripts to automate the process of downloading the 
latest Moodle and patching in the necessary modifications 3rd party 
extras. However, you still need to 'keep an eye' on the process because 
it might fail and require manual intervention, so the each site still 
need to be done 'one at a time'.

Tim W

Tim Williams BSc MSc MBCS - Euromotor Autotrain
Web : http://www.autotrain.org
Tel : +44 (0)121 414 2214 (ext 42214 on internal phone)

More information about the Phpwm mailing list