On 03/05/2018 08:48 AM, Stephan Eggermont wrote:
tesonep@gmail.com <tesonep@gmail.com> wrote:
Hello, i have seen in the latest version of Pharo baselines pointing to "floating" versions. A version that is not fixed. I want to know why this is like that? Because that is the way it should be? It is hand-edited, so repeatable builds are not the goal, just working software. Repeatable builds come from recording what you loaded in what order. Repeatable builds with fixed dependency versions don't help you with working software, as they block your dependencies from getting patched. Never depend on hard-coded versions of anything you don't control yourself. See the 5D paper
Stephan Eggermont Stephan,
For this approach to work it is important that people not make a practice of committing api-breaking changes and by definition each new release of pharo breaks the fundamental api ... I've been able to survive in this universe with Metacello over the years, because I make a point of ensuring that the latest version of Metacello works on all supported platform versions and my observation has been that most Pharo projects ignore older versions of pharo for as long as they can get away with it and this becomes the source of so many issues I've seen ... With github and travis-ci it is practical to support projects on multiple platform versions ... if you want to ... this approach means that when you move to a new platform version you have to use packaging to isolate your version-specific changes and you probably have to refactor your implementation to be able to manage these version-specific changes ... only when you make api-breaking changes is it necessary to start new branches or use a series of tags ... Dale