*About the Moose process*
I dont think the Pharo process and the Moose process compare.
I think that you are wrong. they both need a map. A specification of what to load
I do not see why saving XXX and not be able to reload XXX package is cool to your eyes. It
makes no sense!
with the current process:
you publish X Y Z and I put Y1 after
and you cannot reload your X Y Z so you are fucked up.
Now you say
map1 = X Y Z
and I say map2 = X Y1 Z
and we can all reload what you want.
You do not have to oppose map or absence behind a process.
You can publish map without having to run test.
With your approach we have no way to spot a vicious bug that requires to go back in time.
In pharo sometimes we are forced to do that.
This is a technical problem and it has nothing to do with process. We should have maps.
The Pharo process is about integrating fixes from
packages which are supposed to do one and only one thing, and do it well and is tested.
The Moose process is about developers making incremental changes to the code base so that
they can work and share it immediately. Which means it can break other things.
Now I'm pretty sure I dont want a release every time someone commits a package in
Moose, because I'm pretty sure this someone didn't run all the tests before
committing. So making a release for each new commit makes no sense for me. We dont
integrate changes, we just merge when there are some divergent branches. That's why we
are always working with the dev version and the 'default' is one way to do it.
I disagree. Totally.
If we want historical data about Moose, I guess
it's still possible to retrieve all latest packages at a given date. It will not be
very different from what we used at this date.
This is a crappy and bad way of doing that. This is a SVN regression. Let us study the
commit fingerprint to know what where the files
that worked together: but we know it and we have a tools to save it.
Now about the *release* process for Moose: sure I
would like that there will be more releases. Now as Doru said, when we do a release, we
should do it for every sub projects and it's bit difficult with the current tools.
- One way to do automatically it is to use the test server to at least create a new
version from the latest dev version and blessed it as 'tested' if 100% tests
passed or 'broken'
it will not work because we do not have good test coverage.
Now we know that a version is composed of a set of specific compoentns so just save it.
But I dont want such versions to pollute the manual
versions, which are supposed to be stronger. So something like create automatically
'testedVersionXXX' with tests or broken as possible blessing.
We are talking about the wrong tool to fix the problem.
- Then we can do manual release from time to time
(every two weeks, every months?), which requires more work as we have to do it for the
different subprojects first, and blessed it as beta or stable.
come on
it worked in moose in store, it worked with Moose-all (modulo the subprojects even if I
prefered Moose-all than the current situation).
You do a change you commit. You create a map with all the components that worked together
at that point. Period.
After you can tag a map as release, broken whatever but you know that you have a map of
components!
Stef