Dirty packages in trunk image

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Dirty packages in trunk image

Bert Freudenberg
Hi all,

I ran the snippet below in a freshly downloaded trunk image. It found a couple of differences:

- Monticello is dirty because of the Mock category
- FlexibleVocabularies is dirty because its empty -Info category was removed
- Collections is dirty because there is an unpackaged method, WeakRegistry class>>migrateOldRegistries

These discrepancies should be corrected before the release, but does anybody have an idea why this happened?

MCWorkingCopy allManagers
        do: [:wc |
                wc ancestors size = 1 ifTrue: [
                        | parent changes |
                        parent := wc repositoryGroup versionWithInfo: wc ancestors first.
                        changes := wc package snapshot patchRelativeToBase: parent snapshot.
                        wc modified: changes isEmpty not]]
        displayingProgress: 'Checking packages'.


- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Dirty packages in trunk image

Colin Putney-3
On Wed, Jul 13, 2011 at 7:57 AM, Bert Freudenberg <[hidden email]> wrote:
> Hi all,
>
> I ran the snippet below in a freshly downloaded trunk image. It found a couple of differences:
>
> - Monticello is dirty because of the Mock category
> - FlexibleVocabularies is dirty because its empty -Info category was removed
> - Collections is dirty because there is an unpackaged method, WeakRegistry class>>migrateOldRegistries
>
> These discrepancies should be corrected before the release, but does anybody have an idea why this happened?

Well, the first one is easy - running Monticello's test suite will
dirty the package. This is a hassle, but I haven't found a way to
prevent it that's not even more of a hassle. If you try to look at the
changes, it'll tell you there aren't any and mark the package clean.

Colin

Reply | Threaded
Open this post in threaded view
|

Re: Dirty packages in trunk image

Bert Freudenberg

On 14.07.2011, at 19:11, Colin Putney wrote:

> On Wed, Jul 13, 2011 at 7:57 AM, Bert Freudenberg <[hidden email]> wrote:
>> Hi all,
>>
>> I ran the snippet below in a freshly downloaded trunk image. It found a couple of differences:
>>
>> - Monticello is dirty because of the Mock category
>> - FlexibleVocabularies is dirty because its empty -Info category was removed
>> - Collections is dirty because there is an unpackaged method, WeakRegistry class>>migrateOldRegistries
>>
>> These discrepancies should be corrected before the release, but does anybody have an idea why this happened?
>
> Well, the first one is easy - running Monticello's test suite will
> dirty the package. This is a hassle, but I haven't found a way to
> prevent it that's not even more of a hassle. If you try to look at the
> changes, it'll tell you there aren't any and mark the package clean.
>
> Colin

Nope. That's what my snippet does - look through all changes and mark the packages accordingly. This one *is* dirty.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: Dirty packages in trunk image

Colin Putney-3
On Thu, Jul 14, 2011 at 10:34 AM, Bert Freudenberg <[hidden email]> wrote:


> Nope. That's what my snippet does - look through all changes and mark the packages accordingly. This one *is* dirty.

Hmm. That can happen too, but it's less common. If a test fails or a
test run gets interrupted, it can leave real changes. It might also be
a bug in the test suite.

Colin

Reply | Threaded
Open this post in threaded view
|

Re: Dirty packages in trunk image

Chris Muller-3
In reply to this post by Bert Freudenberg
The problem with Collection appears to go back to 4.2, at least.  The
method in question looks related to some of the finalization
registry..

FlexibleVocabularies too - dirty in the 4.2 release (after checking changes).

For Monticello, it looks like this alpha image was saved after having
run the test cases.  *We should not do that* because we can't trust
that there aren't / won't be extranneous objects left around after
running the tests which shouldn't be put into a deployment image
(alpha, release or otherwise).

For deploying new alpha images, how about we keep using
ReleaseBuilderTrunk.  We can enhance it if necessary of course, more
importantly it serves as good "documentation" about how the image was
deployed.



On Wed, Jul 13, 2011 at 9:57 AM, Bert Freudenberg <[hidden email]> wrote:

> Hi all,
>
> I ran the snippet below in a freshly downloaded trunk image. It found a couple of differences:
>
> - Monticello is dirty because of the Mock category
> - FlexibleVocabularies is dirty because its empty -Info category was removed
> - Collections is dirty because there is an unpackaged method, WeakRegistry class>>migrateOldRegistries
>
> These discrepancies should be corrected before the release, but does anybody have an idea why this happened?
>
> MCWorkingCopy allManagers
>        do: [:wc |
>                wc ancestors size = 1 ifTrue: [
>                        | parent changes |
>                        parent := wc repositoryGroup versionWithInfo: wc ancestors first.
>                        changes := wc package snapshot patchRelativeToBase: parent snapshot.
>                        wc modified: changes isEmpty not]]
>        displayingProgress: 'Checking packages'.
>
>
> - Bert -
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Dirty packages in trunk image

Bryce Kampjes
In reply to this post by Colin Putney-3
On 14.07.2011, at 19:11, Colin Putney wrote:

> On Wed, Jul 13, 2011 at 7:57 AM, Bert Freudenberg <[hidden email]> wrote:
>> Hi all,
>>
>> I ran the snippet below in a freshly downloaded trunk image. It found a couple of differences:
>>
>> - Monticello is dirty because of the Mock category
>> - FlexibleVocabularies is dirty because its empty -Info category was removed
>> - Collections is dirty because there is an unpackaged method, WeakRegistry class>>migrateOldRegistries
>>
>> These discrepancies should be corrected before the release, but does anybody have an idea why this happened?
>
> Well, the first one is easy - running Monticello's test suite will
> dirty the package. This is a hassle, but I haven't found a way to
> prevent it that's not even more of a hassle. If you try to look at the
> changes, it'll tell you there aren't any and mark the package clean.
>
> Colin

Nope. That's what my snippet does - look through all changes and mark the packages accordingly. This one *is* dirty.

- Bert -






Reply | Threaded
Open this post in threaded view
|

Re: Dirty packages in trunk image

Ben Coman
In reply to this post by Colin Putney-3
Colin Putney wrote:
On Wed, Jul 13, 2011 at 7:57 AM, Bert Freudenberg [hidden email] wrote:
  
Hi all,

I ran the snippet below in a freshly downloaded trunk image. It found a couple of differences:

- Monticello is dirty because of the Mock category
- FlexibleVocabularies is dirty because its empty -Info category was removed
- Collections is dirty because there is an unpackaged method, WeakRegistry class>>migrateOldRegistries

These discrepancies should be corrected before the release, but does anybody have an idea why this happened?
    

Well, the first one is easy - running Monticello's test suite will
dirty the package. This is a hassle, but I haven't found a way to
prevent it that's not even more of a hassle. If you try to look at the
changes, it'll tell you there aren't any and mark the package clean.

Colin
  
This is a naive question - I'm just fishing to understand more about the process...
Would you not make a copy of trunk on the server to run the Monitecello tests against, that is thrown away after the tests? 
For example, served up from http://testsource.squeak.com/trunk
Depending on your host operating system that could be a shallow copy-on-write copy.




Reply | Threaded
Open this post in threaded view
|

Re: Dirty packages in trunk image

Bert Freudenberg

On 18.07.2011, at 17:23, Ben Coman wrote:

Colin Putney wrote:
On Wed, Jul 13, 2011 at 7:57 AM, Bert Freudenberg [hidden email] wrote:
  
Hi all,

I ran the snippet below in a freshly downloaded trunk image. It found a couple of differences:

- Monticello is dirty because of the Mock category
- FlexibleVocabularies is dirty because its empty -Info category was removed
- Collections is dirty because there is an unpackaged method, WeakRegistry class>>migrateOldRegistries

These discrepancies should be corrected before the release, but does anybody have an idea why this happened?
    

Well, the first one is easy - running Monticello's test suite will
dirty the package. This is a hassle, but I haven't found a way to
prevent it that's not even more of a hassle. If you try to look at the
changes, it'll tell you there aren't any and mark the package clean.

Colin
  
This is a naive question - I'm just fishing to understand more about the process...
Would you not make a copy of trunk on the server to run the Monitecello tests against, that is thrown away after the tests? 
For example, served up from http://testsource.squeak.com/trunk
Depending on your host operating system that could be a shallow copy-on-write copy.

Look at the Monticello tests - they do not use any actual repository, but mockups.

- Bert -