Re: [Pharo-project] Metacello configuration conventions
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. 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. Stephan
On 16 April 2013 15:11, Stephan Eggermont <stephan@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
participants (2)
-
Frank Shearar -
Stephan Eggermont