Thanx Jérémie. I appreciate your taking the time to explain the mechanisms involved. We do indeed have a CI server (Jenkins) that we could use. I understand the xml comprises the markup and the page metadata (author, history, etc.) and that is what is versioned or versionable. Cheers, Yves
In fact, when you export an xwiki page (to export a .xar file, or to put this page under source control, etc), it is represented as an .xml file. This file contains the markup (in any syntax chosen for the page), and some other information, like author, dates, other xwiki stuff possibly (xobjects, xclass etc) that may not interest you at first. Concept is that you can then re-import this xml file in any xwiki instance, and it will create the exact same page you exported. Usually we put a number of those files in a .xar file, allowing to import or export a bunch of pages at once.
What propose the SVN and the Github apps, are ways to synchronize your wiki pages, from your running xwiki instance on one side, and a github or svn repo on the other side (under the form of those .xml files). As far as I know, this synchronization is not automatic: - when you click "commit", it will push changes from the running xwiki instance to source control - if you set a CI server watching modifications of source control, you can rebuild upon a change in markup in a page - when you click "update", it will pull changes from source control into running xwiki instance - if you refresh a page for which .xml was changed and pulled, html of course is refreshed.
I don't know much more as I never used those apps, so please extension creators correct me if I'm wrong :)
About editing directly those exported .xml files : it is possible but not recommended as format is not so readable, some parts are binary, and others are xml-encoded (so if you forget to xml-encode your modifications, you generate pages impossible to import back in xwiki).
Hope this helps, Jeremie