Version Control of XML data
From: Thamm, Russell <russell.thamm_at_dsto.defence.gov.au>
Date: 2005-09-07 03:19:16 CEST
I'm investigating ways of providing version control for XML documents residing on an eXist database.
As I use subversion of source version control, I am looking at subversion for this job.
The basic idea is to have a standard working copy on disk and write a special tool that:
A) on checkout/update, does a standard subversion checkout/update and then copies any updated files from WC to the data-base
This all seems relatively straight forward. The problem is differencing/merging.
The standard diff tools (although usable) suffer a number of drawbacks when handling XML data.
For example, many XML tools like to sort attributes. Two documents with identical content will be determined to have many differences by traditional tools because the atttributes have been reordered.
There are differencing/merging tools for XML. The differences records produced by these tools are completely different than those produced by diff.
I understand that subversion stores the complete HEAD revision and differences for previous revisions and that old revisions are generated by applying the differences in reverse.
I understand that subversion allows you to override the default diff/merge tools.
If I configure subversion to use external differencing tools, will it use these exclusively for all operations involving differences?
This is an archived mail posted to the Subversion Users mailing list.