Why tcl-scripts for the Qsys system?

I’m currently working on the Atlas-SoC hardware design. In this makefile based setup (https://github.com/dwesterg/atlas-soc-ghrd), the Qsys system gets populated from a set of tcl scripts.

I understand that putting XML files, which the .qsys file is, under revision control is hard to diff and track. But actually working with the qsys tcl script when you want to make any changes is very difficult IMHO. I end up using the Qsys GUI to do the actual edits, and then I have to export the system to a long tcl-script in which I need to find the changes I’ve made. Is this really this tedious, or am I missing something here?