E&S CVS Commit: PEAK - Found and fixed an interesting issue with automatic metaclass generation

pje at eby-sarna.com pje at eby-sarna.com
Sat May 10 15:17:00 EDT 2003


Module Name:	PEAK
Committed By:	pje
Date:		Sat May 10 19:16:16 UTC 2003

Modified Files:
	PEAK/src/peak/storage: transactions.py
	PEAK/src/peak/util: Meta.py advice.py
	PEAK/src/peak/util/tests: advice.py

Log Message:
Found and fixed an interesting issue with automatic metaclass generation
and class advice.  My algorithm for determining the "best" metaclass was
broken in some way.  I no longer understood the original algorithm, so I
rewrote it from first principles, and added a test to cover the way the old
one was broken.  It's kind of weird that I never discovered it before, but
until recently its main use was just to automatically generate new
metaclasses.  So the bug would have just caused it to generate extra ones
that weren't needed, which of course wouldn't be directly noticeable.


To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/PEAK/src/peak/storage/transactions.py.diff?r1=1.26&r2=1.27
http://cvs.eby-sarna.com/PEAK/src/peak/util/Meta.py.diff?r1=1.10&r2=1.11
http://cvs.eby-sarna.com/PEAK/src/peak/util/advice.py.diff?r1=1.7&r2=1.8
http://cvs.eby-sarna.com/PEAK/src/peak/util/tests/advice.py.diff?r1=1.6&r2=1.7

To generate a diff of this commit:
cvs rdiff -r1.26 -r1.27 PEAK/src/peak/storage/transactions.py
cvs rdiff -r1.10 -r1.11 PEAK/src/peak/util/Meta.py
cvs rdiff -r1.7 -r1.8 PEAK/src/peak/util/advice.py
cvs rdiff -r1.6 -r1.7 PEAK/src/peak/util/tests/advice.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




More information about the source-changes mailing list