________________________________
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"

Reply via email to