[Zope-dev] ZopeVersionControl bug

Rob Miller ra at burningman.com
Tue Dec 12 21:44:38 EST 2006


is there a current maintainer or development process for ZopeVersionControl? 
there's been a little bit of activity lately, but it's still in CVS.

in any event, CMFEditions (a versioning system for Plone) depends on ZVC, and 
it seems that some recent changes to Zope's DateTime implementation have 
caused a ZVC bug to come to the surface.  dorneles has recently improved the 
ISO8601 support in the DateTime module (http://tinyurl.com/y9weck).  one of 
the results is that DateTime('1') now is interpreted similarly to DateTime(1), 
whereas before it would raise an error.

in ZVC's Repository.getVersionOfResource() method (http://tinyurl.com/yab2xw), 
a selector is passed in, which the method will try to use in a number of ways 
before deciding that there's no matching version to return.  the final test 
looks like this:

try: date = DateTime(selector)
except:
     raise VersionControlError(
         'Invalid version selector: %s' % selector
     )
else:
     ... RETRIEVE BY TIMESTAMP HERE

thus the change in DateTime behaviour means if the selector is a string 
representation of an integer, it formerly would have been rejected as invalid, 
but now will be considered a timestamp lookup.   since version ids are 
commonly string representations of integers, this can be a bit of a problem.

i'm not sure whether the DateTime behaviour should be reverted, or if there 
should be a change in ZVC.  and i'm also not sure what's going on w/ ZVC's 
maintenance... are there any plans to bring it over to subversion?  i'm happy 
to commit a fix, if someone can point me in the right direction.

thx,

-r



More information about the Zope-Dev mailing list