I agree udl is much better for versioning than xml. I didn't know it was possible, seems the way to go. 
For globals, is there something better than xml ? 

I found the following XSD file which seems to be what I want :

C:\InterSystems\Cache\bin\cacheexport.xsd

It's much more complex than what I thought. Maybe exporting all cache files as UDL (as Dmitriy suggested) is a better approach. I don't know if SyncTool is able to export cache entities in that format directly. If not, I will need a second pass (that convert xml to udl).