________________________________ De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Tudor Girba [tu...@tudorgirba.com] Envoyé : vendredi 30 mai 2014 13:16 À : Any question about pharo is welcome Objet : Re: [Pharo-users] the mystery of dirty package
I do not quite understand. If it is an overriden method, the dirtyness should not go away when looking for changes, no? In our case, there are no changes found If the overriden method (of say OriginalPackage) is redefined in a protocol named '*myPackage-override' by MyPackage, then asking MC for changes will consider that OriginalPackage is clean (and no changes will be found). A good example is ConfigurationOfGitFileTree as it is now. Upon loading it, you will see that it will set as dirty I think four packages, with all of them except one become clean when looking for changes... The one that shows changes has the overridden method not in an -override protocol (and I need to correct that someday). This is how MC processes overrides. Thierry @Usman: what is the problematic method? Doru On Fri, May 30, 2014 at 1:11 PM, Usman Bhatti <usman.bha...@gmail.com<mailto:usman.bha...@gmail.com>> wrote: Tx for the pointer Thierry. So, I did a small script (because there were 314 methods) to see number of non-class-extension methods with and without loading the dirty marker package and I could spot the culprit. Running this script before and after loading the second package and doing a difference on the two sets shows determining the overridden method. methods := (RPackage organizer packageNamed: packageName) definedClasses flatCollect: [:class | class methodDict values]. methods := methods select: [:aMethod | aMethod category asString includesSubstring: '*']. regards, usman On Wed, May 28, 2014 at 4:30 PM, Goubier Thierry <thierry.goub...@cea.fr<mailto:thierry.goub...@cea.fr>> wrote: Hi Usman, look if the loaded package has overrides on other packages. If yes, it will dirty them, and looking for changes will clean them. Thierry Le 28/05/2014 15:59, Usman Bhatti a écrit : Hi, It is second time in a week that I have to analyze a problem related to a package getting dirty because of loading another package. But when looking for changes, the first package becomes clean again. One occurrence of the problem can be seen in the latest moose image: - download the latest image here:https://ci.inria.fr/moose/job/moose-5.0/ - monticello browser -> Collections-Abstract -> changes and the package becomes clean. Any idea how to determine which method(s) from the incoming package might be causing changes in the loaded package? Or generally, how to go about correcting this problem? usman -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92<tel:%2B33%20%280%29%201%2069%2008%2032%2092> / 83 95 -- www.tudorgirba.com<http://www.tudorgirba.com> "Every thing has its own flow"