Added support for canonical, upstream and staging repositores.
Each repository (forest) can now specify three repository URLS
- (mandatory), "upstream: and "staging" repository (bothoptional).
When a "staging" repository is configured, commits are first
pulled from "staging" repository and then from "canonical"
(assuming "staging" repository is local so this should avoid
network trafic to canonical repositories).
When an "upstream" repository is configured, changes are pulled
from an "upstream" after pulling fron "staging" but before pulling
from a canonical repository.
This allows to define a hierarchy of repositories for staged
development. This means, it allows for changes (commits) to go
from one repository to another before eventually reaching
a canonical repository from which official builds should be
done. At each step commits should be verified and tested before
they're pushed to upstream to avoid pushing broken code.
# This file defines a set of repositories to fetch source code from.
#
#
# Following repository sets are defined here:
#
# 1.*default*: fetches source from public repositories. Code forked
# by Smalltalk/X jv-branch is loaded from Jan Vrany's BitBucket
# account (https://bitbucket.org/janvrany/), the rest is loaded
# from eXept's public CVS repository (:pserver:cvs@cvs.smalltalk-x.de:/cvs/stx)
# Sources of stc and librun (Smalltalk/X VM) are not checked out
# (since they're not freely available) but pre-build binaries are
# downloaded from SWING CI server ( https://swing.fit.cvut.cz/jenkins/job/stx_jv/ )
#
# This is the default if no REPOSITORYSET value is set.
#
#
# 2.*ci-swing*: for use on SWING CI [1]. Uses local staging repositories hosted
# on https://swing.fit.cvut.cz/hg in addition to canonical on hosted on
# BitBucket.
#
# 3."ci-jv": for use on Jan Vrany's private CI. Uses local staging repositories
# in addition to canonical on hosted on BitBucket.
#
REPOSITORYSET = (ENV['REPOSITORYSET'] || 'default') if not defined? REPOSITORYSET
case REPOSITORYSET
when 'default'
repository :'exept:public' do
type :cvs
canonical ":pserver:cvs@cvs.smalltalk-x.de:/cvs/stx"
end
repository :'bitbucket:janvrany' do
type :hg
canonical "https://bitbucket.org/janvrany"
separator '-'
end
if core_developer?
repository :'swing:private:hg' do
type :hg
canonical "ssh://192.168.12.2//hg"
separator '.'
end
end
when 'ci-swing'
repository :'exept:public' do
type :cvs
canonical ":ext:swing.fit.cvut.cz/var/local/cvs"
end
repository :'bitbucket:janvrany' do
type :hg
canonical "https://bitbucket.org/janvrany"
staging "ssh://swing.fit.cvut.cz//var/local/hg"
separator '-'
end
repository :'swing:private:hg' do
type :hg
canonical "ssh://192.168.12.2//hg"
separator '.'
end
when 'ci-jv'
repository :'exept:public' do
type :cvs
canonical ":pserver:cvs@cvs.smalltalk-x.de:/cvs/stx"
end
repository :'bitbucket:janvrany' do
type :hg
canonical "https://bitbucket.org/janvrany"
staging "ssh://hg@192.168.0.250"
separator '-'
end
repository :'swing:private:hg' do
type :hg
canonical "ssh://hg@192.168.0.250"
separator '-'
end
end