making emerge faster

Wolfgang Rohdewald wolfgang at rohdewald.de
Fri Jan 14 17:47:31 CET 2011


On Freitag 14 Januar 2011, Ralf Habacker wrote:
> > now I have 71 single commits in my local git.
> 
> Are there any chance to push this local git repo into a public
> location  so that the envolved people are able to take a look
> before commiting ?

I just already committed about half of them.

before I started with those changes, I asked here how to 
handle this. Andre Heinecke answered 

> I would rather have you make small commits that can be
> reviewed in a timely manner then to push one huge changeset.
> The policy in emerge there is mainly just commit and a
> post commit review will be done. 

well - I held back my small commits because I did not want
having to test emerge too often and because the fewer 
messages pylint produces the easier I notice when I make
a typo. I actually did 3.

do you think it still makes sense to push that git somewhere
for the remaining commits?
Actually I do not just commit automatically because I want
to put typos fixed later into the commits that introduced
them. Here is a list of pending commits (oldest last)

PackageBase: now the main dispatcher really works with a mapping dict
info.py: setDependencies etc were commented as abstract but they are not. Revert adding utils.abstract()
CMakeDependencies: make main code runnable at least, sys.argc does not exist
tools: Object.system(): make stdout and stderr local variables, they are not referenced anywhere else
portage: suppress pylint warning about redefining __import__
NullsoftInstallerPackager: All attributes should be defined in __init__
NullsoftInstallerPackager: fix definitions in NSIPackagerLists: classmethods should have cls as first argument. We want staticmethod here.
fix wrong calls to die() having too many arguments
fix typo in MultiPackager. This should fix a real bug
XmlPackager: comment wrong code about ignoring elements
fix typos from my previous commits
avoid reimporting already imported modules
expressions should always be assigned to something
the signature of methods should be the same between base class and subclasses. This is a step in that direction.
FileSource.localFileNames() was defined twice
remove AutoToolsBuildSystem.createShell. It is not used and would not work anyway because no openShell() exists
PackageBase: remove unreachable code
CMakeBuildSystem.dumpDependencies() called non-existant dumpEmergeDependencies()
Shell.execute(): subclasses should have the same signature for overriden methods
InstallDB: importExistingDatabase should not be protected, it is called from outside
the global keyword is not needed for reading
Object.error(): no attribute errormessage exists
split lines longer than 150 chars
simply verbosity handling code. Do not use global variables for this anymore (pylint). Always keep shell variable EMERGE_VERBOSE in sync.
fix some calls of utils.verbose() - this bug meant output even with verbosity 0
fix one more case of wrong indentation
work on the problems caused by wrong order of __init__ chain in EmergeBase subclasses.
utils: do not import tempfile twice
base.py: According to Patrick Spendrin class baseclass is deprecated. Make it raise helpful exceptions if non-working functions are called and suppress all pylint warnings in this file.
We want no empty docstrings Convert comments in front of functions to docstrings in infoclass, some abstract classes did nothing, now they raise an abstract error
Use only one docstring per function and place it at the beginning
fix a few pylint warnings about missing __init__ functions and __init__ functions of superclass not being called
do not use lists as default for arguments, this can lead to subtle errors because the argument default is only computed once. also eliminate attributes whitelists and blacklists in 
NullsoftInstallerPackager, they were not used.
pylint thinks string.Template is deprecated but it is not
catching exceptions: be specific. Especially we never want to say except: because that would also catch KeyboardInterrupt, SystemExit, MemoryError and other things that should normally not be catched
the name "foo" is blacklisted by pylint
kdeSvnPath should return None for no path, not False. This is more pythonic and makes pylint accept the source of kdeSvnUnpack. With False, kdeSvnPath could return two different types which confuses.
do not do implicit relative imports, they are frowned upon. Insted use absolute imports.
 
-- 
Wolfgang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kde-windows/attachments/20110114/bc5e2b7c/attachment-0001.htm 


More information about the Kde-windows mailing list