Thanks for these suggestions! Git as a versioning system was discussed every now and then, dating back all the way back to 2013, but the truth is git itself is too heavy for this task and you can already do the following:

Save backups of older config.xmls in /conf/backup.

Diff backups against each other or the latest config under /conf/config.xml.

Since everything is in config.xml there is no need for tracking more than one file and every page saves its own changes so you also have an audit trail.

The config.xml format isn't perfect, but short of replacing it with a database backend there is not really much to be gained in changing anything here.

The benefit of git was, as far as I remember, you could do central management of different boxes using branches and have a slightly more favourable audit trail, but one would also need to deserialise the config.xml into individual files/directories to make more sense of the changes.

Not strictly against work here, but the question is: what is the use case that is not possible in the current system?