[PATCH] Tests for KnitContent class
John Arbash Meinel
john at arbash-meinel.com
Sun Nov 26 14:44:19 GMT 2006
Dmitry Vasiliev wrote:
> Johan Rydberg wrote:
>> Dmitry Vasiliev <lists at hlabs.spb.ru> writes:
>>> While learning Bazaar codebase I've wrote tests for KnitContent
>>> class. BTW it seems methods KnitContent.line_delta(_iter) don't used
>> The patch seems kinda straight forward, at least the changes to
>> knit.py. Didn't really look at the tests though :)
> The tests is also straight forward. :-)
>> +1 from me for the knit changes.
> Actually the KnitContent's interface looks incomplete for me because of
> so many places where KnitContent._lines is directly accessed.
Is this internal to KnitContent, or external? Meaning is KnitIndex
I don't think there would be a problem with either:
1) Changing places that use it to use KnitContent.annotate_iter
2) Providing an 'def __iter__()' so that we could just use:
for origin, line in content:
I think the KnitContent interface is as it is, because of trying to look
like the VersionedFile api, rather than just being what it is, which is
a private Knit helper class.
KnitVersionedFile needs to maintain the interface, but KnitContent doesn't.
I realize KnitContent isn't technically private (because it doesn't have
a leading '_'.) But I think it was logically meant to be private. So I
personally would approve making it private. And if we really wanted we
could have a deprecated
def KnitContent(*args, **kwargs):
"""KnitContent is supposed to be private."""
return _KnitContent(*args, **kwargs)
I *really* doubt anyone is creating a KnitContent outside of knit.py, so
this shouldn't cause any problems. (bzrlib itself doesn't)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 254 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20061126/50d7dece/attachment.pgp
More information about the bazaar