Handling dependencies with MC

stéphane ducasse ducasse at iam.unibe.ch
Mon Feb 20 19:09:41 UTC 2006


In visualWorks
	if A.1 depends on B.23
	
	and
	Z.2 depends on B.24

you cannot load A and Z since B.23 and B.24 cannot load together.

So what you do is

	W
		A.1
		B.23

	K
		Z.2
		B.24

If you want to load
	A.1 and Z.2
	you can
	because you load first B.23 or B.24
	because you analyzed

But you did not had to change A.1 or Z.2 for that.
You only created a new lineUp
	
	R
		A.1
		B.23
		Z.2

Since other components may want to still load W or A.1 with another B  
version

I let you imagine how this can be the mess with packages depending on  
packages depending on package.....
Stef

Worth reading....
Cool cees!
http://www.cincomsmalltalk.com/userblogs/travis/blogView? 
showComments=true&entry=3265388740


On 20 févr. 06, at 17:39, Samir Saidani wrote:

> Hello,
>
> I've just discovered something with MC I didn't understand the first
> time, so it could be interesting for others to understand that...
>
> Let's start with this convention: A depends on B
>
> A (version)
> |_B (version)
>
> A* : modified package.
>
> Here is a use case:
>
> A (1)
> |_B (1)
>
> A (1)
> |_B * (1) (B modified)
>
> With MC, we have to save A first to handle correctly the
> dependencies. The first time, I saved B thinking that A will update
> itself correctly. Here is an explanation from Avi:
>
>> [Avi Bryant] June 22, 2004 21:08:09 EDT
>
>> Neat. That's precisely the solution I came up with for Monticello as
>> well. But if you'll forgive my ignorance of Store: how do prereqs
>> between packages work? Does a package have another package as a
>> prereq, or a version another version, or a version another package,
>> or... ? So, for example: package A depends on B. I save version 1 of
>> A, when I have version 1 of B loaded. Later I save a version 2 of
>> B. If someone else tries to load version 1 of A, which B do they get?
>
>> In Monticello dependencies are currently very strict
>> (version->version, so you would get B version 1 in the above
>> case).
>
>> This is good in some cases but really annoying in others, so
>> I'm curious how "lineups" deal with it.
>
>> From a ref given by stéphane about LineUp:
> http://www.cincomsmalltalk.com/userblogs/travis/blogView? 
> showComments=true&entry=3265388740
>
>
> Cheers,
> Samir
>
>




More information about the Squeak-dev mailing list