Florian MOGA wrote:
We have identified the need of having the following types of environments:
- a place where to keep new modules or samples (contrib/)
- a place where to move the new code in order to get built regularly in
order to be able to monitor it's state and ensure doesn't get broken by
latest trunk/ changes (unreleased/)
- a place where to keep released modules and their latest
fixes/improvements (trunk/)
- a place where to copy code from the main development area in order to
experiment things which might break the build (sandbox/<personal folder>)
As a conclusion, code can be moved on the following paths contrib/ ->
unreleased/ -> trunk/ and sandbox/ <-> trunk/.
Currently, the unreleased/ folder is under trunk/ and there have been
discussions about taking it out of trunk/ at the same level with
/contrib and trunk/. The advantages would be that it would make trunk
smaller and easier to build without the new modules and their
dependencies. The disadvantages would be loosing the ability to check
out trunk/ and unreleased/ in one piece and the convenience this brings
inside the development environment. Either way Hudson will be set to
build the unreleased folder/ but not fail the trunk/ build and snapshot
deployment if unreleased/ fails.
There are other advantages of having the unreleased code in trunk and
in the default top-level trunk build.
1. Having it in trunk makes it clear that it's part of trunk and that
people making changes to trunk need to take account of any impact
that their changes have on this code.
2. Having it in the default build (not just the Hudson build) makes it
immediately obvious if something is broken and requires people to
take positive action to correct or work around the problem.
Simon
After we agree on the above point, it might be a good thing having
written down the purpose of the folders in a README file or in the
Developing Tuscany section on the website so that it will be clear and
we can start gaining the consistency we want.