Affects Version/s: None
Fix Version/s: 4.2.0
Pull Request URL:
Add the ability to supply a repository/branch/filename to compile.
eclccserver should logically
- (optionally) update the local copy of the version control system
- check out a branch
- build from that branch.
The aim is to allow direct deployment from a version control system for production environments.
Some things to consider
- Should the list of version control sources be predefined on the eclccserver?
(I suspect so... - it would simplify many things and add extra security.)
- Make it pluggable to allow developers to extend the VCSs supported.
- Initially implement git (and svn?).
- Git could be implemented without actually checking out a branch.
- Could also implement SVN, but that would require svn switch to a local directory. That will require mutex to prevent multiple active compiles from the same VCS - or multiple copies of the local directory.
- Allow whether to update to be selected, and if so the timeout.
- Option for an eclccserver to ONLY accept compiles of source from a VCS.
- The workunit should be annotated with the source/branch/filename that was used to created it.
- If it was a configurable interface with precompile/post compile hooks, could it be used for something else. Does a pre/post compile hook combined with source attribute translation provide all we need? It may fall out very easily.
git: git fetch, translate to git-hook filename
svn: mutex and svn switch, translate to local filename, release mutex.