[PATCH] context: use common __repr__() implementation for all classes
Greg Ward
greg-hg at gerg.ca
Wed Jul 22 12:55:17 CDT 2009
On Tue, Jul 21, 2009 at 10:04 PM, Matt Mackall<mpm at selenic.com> wrote:
>> context: use common __repr__() implementation for all classes.
>>
>> Before this, subclasses used their parent's __repr__(), which had
>> hardcoded class names. That made repr() of a workingctx object
>> indistinguishable from repr() of a changectx.
>
> Let's use inheritance here?
Sure, could do. FWIW, this is a pattern I use frequently; I typically
use the same __repr__() implementation, regardless of whether classes
are related or not. The only problem with my usual __repr__() is that
it requires a separate __str__(); without it, you get infinite
recursion. Hmmm: that could be fixed with a base class.
OK, I'll send a new patch.
Greg
More information about the Mercurial-devel
mailing list