[squeak-dev] The Inbox: Monticello-bf.540.mcz

Bert Freudenberg bert at freudenbergs.de
Fri May 3 11:11:25 UTC 2013


On 2013-05-03, at 12:55, Frank Shearar <frank.shearar at gmail.com> wrote:

> On 3 May 2013 11:31, Bert Freudenberg <bert at freudenbergs.de> wrote:
>> 
>> On 2013-05-03, at 12:26, Frank Shearar <frank.shearar at gmail.com> wrote:
>> 
>>> Ah, thanks for that, Bert.
>>> 
>>> IIRC the search over the repository group in #parentSnapshot ought to
>>> search the default cache repository first, yes?
>> 
>> No. We specifically want to see the diff relative to the repository we are storing into.
> 
> That's not what it looks like: it looks like it _first_ tries the
> target repo, and then falls back to searching over a group. Since a
> MCRepositoryGroup has a default cache, I'd imagine it would search
> that before trying the other repositories (but after first trying the
> target repository).
> 
> frank


If no ancestor can be found (an unusual case) in the target repo it falls back to the repo group. And that will have the cache repo, yes.

Possibly it shouldn't even fall back, to indicate that you are in fact storing a completely new package? Or am I misunderstanding you?

The parentSnapshot is only used to display the diff, it has no effect on what actually gets stored.

parentSnapshot
       "prefer parent in selected repository"
       MCRepositoryRequest signal ifNotNil: [:repo |
               self ancestors do: [:ancestor |
                       (repo versionWithInfo: ancestor)
                               ifNotNil: [:ver | ^ver snapshot]]].
       "otherwise, look in all repositories"
       self ancestors do: [:ancestor |
               (self repositoryGroup versionWithInfo: ancestor)
                       ifNotNil: [:ver | ^ver snapshot]].
       "otherwise"
       ^MCSnapshot empty!

- Bert -




More information about the Squeak-dev mailing list