Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 02 Nov 2016 00:18:25 +0000] rev 67
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.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 29 Oct 2016 23:54:12 +0000] rev 66
Refactored SCM support to use `hglib.rb` for performing Mercurial related tasks
...rather than issuing hg commands by hand. `hglib.rb` provides higher-level API
for repositories and thus would allow more complex logic (such as using mirrors
to fetch base or smarter handling of bookmarks) being written in a more concise
way.
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 27 Oct 2016 09:01:50 +0000] rev 65
Project `stx:jv-branch`: Ouch, added missing prerequisite to SmallSense
Dependency of `stx:goodies/smallsense` on `stx:libhtml` was missing.
We should really generate dependencies from project definitions.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 26 Oct 2016 22:48:38 +0000] rev 64
Merge
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 26 Oct 2016 13:06:28 +0000] rev 63
Project "stx:jv-branch": define default test suite for everyone but SWING Jenkins.
This is a temporary hack until we switch to pipeline on SWING Jenkins.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 25 Oct 2016 10:11:59 +0100] rev 62
Cleanup: Cleaned up command executing code in `rakelib\scm.rb`.
Use `sh` (from `RakeFileUtils`) execute external commands to avoid
code duplication. Improved `sh` to allow reading command's output and
read it's status.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 24 Oct 2016 20:21:35 +0100] rev 61
Cleanup: Removed support for "hg-svn" and "hg-cvs" SCM types.
These are not used and never was except during a short transition
period when Smalltalk/X jv-branch moved from SVN to Mercurial (a long
time ago).
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 24 Oct 2016 09:48:37 +0100] rev 60
Cleanup: Renamed `vcs.rb` & `Rake::StX::VCS` to `scm.rb` and `Rake::StX::SCM`
to make naming a little more consistent within Smalltalk/X (which uses
SCM). Also SCM seems to be commonly used abbrev.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 23 Oct 2016 22:49:57 +0100] rev 59
Added support for multiple different repository sets.
This may come handy in several scenarios:
* one may want to fetch data from local mirrors rather than
from canonical repository to save network bandwidth (handy
on build farms)
* one may want to use her own repositories (for example because
one is concerned about "cloud" or wants to build from "staging"
repositories in order to test changes)
A repository set is specifed by REPOSITORYSET variable (passed
either on command line or via environment variable). If no repository
set is specified, 'default' is used. Default set fetches source
from canonical repositories for the project.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 21 Oct 2016 21:50:00 +0100] rev 58
Fixed `checkout()` function to respect repository separator setting