Yes you should track local changes, either using a local version control system to store the whole thing or possibly by maintaining a set of patch files in such a way that they can be automatically applied. (So whenever you update Moodle, you can just run some script to automatically apply all your patches again, and find out if any of them fail so that you need to alter them. Obviously you would do this on a development server not directly on the live system, then transfer it to the live system once you've fixed all your patches.)
This is the sort of thing git could be useful for automating so if you really feel like getting a headache, now's the time to start learning! I'll let the git advocates tell you how though, since I don't know...
--sam
General developer forum
Best practices for code modification?
This discussion has been locked so you can no longer reply to it.