[ckan-discuss] initial "distributing changes" implementation
John Bywater
john.bywater at appropriatesoftware.net
Tue Mar 30 12:17:17 BST 2010
I just added a prototype implementation for 'distributing changes':
http://www.knowledgeforge.net/ckan/trac/changeset/951%3A941c3a4bedd5
So, there's a new changeset subdomain model with tests here:
http://www.knowledgeforge.net/ckan/trac/browser/ckan/tests/models/test_changeset.py
http://www.knowledgeforge.net/ckan/trac/browser/ckan/model/changeset.py
It's basically similar to Mercurial.
Just like a changed Mercurial working directory, new CKAN model
revisions can be 'committed' to the changeset system.
Just like Mercurial, the CKAN model can be 'updated' to correspond with
any existing changeset.
Just like Mercurial, the changeset objects can be 'pulled' from one
instance to another.
Just like Mercurial, diverged lines of development can be tested for
conflicts and merged into yet another changeset....
There are several gaps in the implementation, but basically after
several rather late nights, I've worked it out.
Best wishes,
John.
PS I hope other implementations of 'distributed data version control'
could be created, to inter-operate a protocol abstracted from the above
codes. It could be used to update, track, and display history for a many
things, including a non-temporal dataset metadata model (ie like CKAN
but without CKAN's revisions).
More information about the ckan-discuss
mailing list