On 16 April 2013 15:11, Stephan Eggermont <step...@stack.nl> wrote:
> Frank wrote:
>>I'd argue that since you're declaring that a certain set of versions
>>of packages work together, you should _always_ use explicit versions.
>>The "optimistic" strategy leaves you vulnerable to third parties
>>making seemingly innocuous changes that break your code. (I've been
>>bitten by this, by making such an apparently innocuous change.)
>
> Thank you. That's a clear vulnerability of the optimistic strategy.
>
> That sounds nice, but also means getting a change rate that is the sum
> of that of all your dependencies. It is also not very nice when you are
> depending on things that have known bugs you know will be fixed soon.

Why? If you use a baseline during development, you don't specify your
own versions at all. It's only when you're preparing a release that
you need to harden up the dependencies. Or: I'd be very surprised to
see you needing to constantly update your _external_ dependencies.

> What does it mean that a certain set of versions work together?
> Implicit seems the assumption that #Pharo2x is #stable, and we don't talk
> about the vm version or even worse the non-smalltalk dependencies.
>
> I don't see Metacello descriptions specifying all loaded packages.

Indeed: as far as Metacello's concerned there's just #pharo20 or
#squeak or whatever. But then, _usually_ you won't need to do special
things for, say, Pharo 2.0 prior to some update N versus Pharo 2.0
from update N+1 onwards. (Where "2.0" is a stand-in for any
not-bleeding-edge version.)

frank

> Stephan
>

Reply via email to