[svk-devel] Data::Hierarchy 0.40, and backwards compatibility

David Glasser glasser at mit.edu
Sat Nov 4 18:25:26 EST 2006


Data::Hierarchy (the class that implements the 'checkout' portion of
~/.svk/config) had a rather inefficient implementation.
Unfortunately, current version of SVK relied on the internals of that
implementation in inappropriate, undocumented ways.

Data::Hierarchy 0.40 (not quite released yet) rewrites the internals
of DH from scratch.  One new thing is that it explicitly documents
that serializing a DH object, upgrading DH, and deserializing the
object is not safe behavior; it does provide a new class,
Data::Hierarchy::Savable (which looks a whole lot like the old
Data::Hierarchy on the inside) which can be serialized.

As of r2110, SVK requires DH 0.40, and no longer makes use of any
undocumented implementation details of DH.  It will read old
~/.svk/configs without a problem.

However, if you do choose to upgrade to DH 0.40, older versions of SVK
may break; at the very least, some of the checkout subcommands like
"svk co -l" and "svk co --relocate" did not work on trunk with DH 0.40
until r2110; I have no idea how SVK 1.0x behaves with DH 0.40.

--dave

-- 
David Glasser | glasser at mit.edu | http://www.davidglasser.net/


More information about the svk-devel mailing list