
These files should only exist in 'master'. They should never differ between BRANCHes.

These go in your BUILD_HOME directory (by export/copy or wget) and they are simply to "get things started",
such as via cronjobs, etc. Such as for Platform builds, in /shared/eclipse/builds.

The bootstrap.shsource file is responsible for getting all the other scripts
that are required,
from the right BRANCH, and starting a build for that BRANCH.

They should not have to change often.

