[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Version Control of XML data

From: Thamm, Russell <russell.thamm_at_dsto.defence.gov.au>
Date: 2005-09-07 03:19:16 CEST

Hi,

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
B) on commit, copies any modified files from the database to the WC and then performs a subversion commit

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?
In particular, does subversion use store differences supplied by the external tools and does it use these tools for reconstructing old revisions?

Thanks
Russell Thamm
Received on Wed Sep 7 03:25:10 2005

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.