[squeak-dev] Monticello issues in the Trunk

Frank Shearar frank.shearar at angband.za.org
Sat May 7 11:57:05 UTC 2011


On 2011/05/07 02:30, Levente Uzonyi wrote:
> Hi,
>
> there are a few issues with MC in the Trunk, which is a big problem
> IMHO, because our developement process is based on it:
>
> 1) The update process doesn't merge packages automatically anymore. If
> you update your image now, it should have Tools-fbs.350 and
> Tools-fbs.349 merged, but only Tools-fbs.350 is loaded.

I had worried that something bad might happen. These two share a common 
ancestor (348), so we have what I usually call a split branch. 
Monticello looks like it treats the more recent split as the new head, 
which is not unreasonable.

So we need a new commit to remerge? See Tools-fbs.351, after which 
history will (or should, at least) look like this:

      /- 350 -\
-- 348       351
      \- 349 -/

>
> 2) Monticello's test are broken, probably due to the changes of it's
> mock package structure. A clear sign of the bug is that MCSnapshotTest
>  >> #mockClassExtension is removed after running the tests, which
> results in several errors and failures. The reason why this went
> unnoticed is probably because of the lack of manual test runs, but IMHO
> that's mandatory if you upload stuff to the Trunk.
>
> 3) In the various MC browsers mczs are sometimes duplicated in the lists
> (e.g. Kernel-nice.582.mcz appears twice), but only the first can be
> selected (this is probably a property of the list that holds the versions).

The underlying list (like MCFileRepositoryInspector's versionNames, the 
current culprit) looks sane. Ah, but allVersionNames has the duplication.

That's because a booboo happens in 
MCCacheRepository(MCFileBasedRepository)>>#readableFileNames:

     <snip>
     all := self allFileNamesOrCache.    "from repository"
     <snip>
     new := all difference: cachedSet.
     ^ (cached asArray, new)
         select: [:ea | self canReadFileNamed: ea]

I don't quite follow PluggableSet>>#scanFor: (called by #difference:), 
but that's what ultimately results in new erroneously containing that 
MCVersionName.

frank



More information about the Squeak-dev mailing list