Also, mixed configurations are possible, in which different class packages are
located in different repositories. This is especially useful when access to
exept's ST/X master repository (which is a CVS repository) is required,
while at the same time, local package sources are to be stored in some other (local)
repository.
Choosing a Sourcecode Management Scheme
Currently, the source code management (SCM) scheme which is best integrated into ST/X
is CVS. All files for the whole build and deployment process can be generated and checked into
CVS from within the ST/X system browser. This allows for completely unattented builds to be
done automatically, by systems similar to jenkins (hudson), or batch/shell scripts.
However, the choice of which SCM scheme to use may also depend on the existing infrastructure. If your company uses SVN or Perforce to package and build products, this may be a good choice for ST/X projects as well.
The following table lists the currently supported SCM schemes and their pros and cons:
Name | Description | Pro | Con |
---|---|---|---|
CVS | Concurrent Source Code Management System | +local and remote operation
+best integration +supports file based command line operation +fully automated build |
-slow if remote and slow connection
-class renaming troublesome -class moving troublesome -no branch support (*) |
SVN | Subversion Source Code Manager | +local and remote operation
+good integration +supports file based command line operation +almost fully automated build |
|
P4 | Perforce P4 Source Code Manager | +local and remote operation
+supports file based command line operation |
-commercial; requires license |
Git | Git Source Code Manager | +local and remote operation
+supports file based command line operation |
-unfinished; highly experimental |
Mercurial | Mercurial Source Code Manager | +local and remote operation
+supports file based command line operation |
-unfinished; highly experimental |
Monticello | Monticello Packaging System Squeak Source Repository |
+local and remote operation
+standard in Smalltalk +support in Squeak, VW and V'Age |
-only for code interchange
-no file based command line operation -no build support |
STORE | STORE DB Cincom/VisualWorks Source Reporitory |
+local and remote operation
+standard in VW |
-only for code interchange
-no file based command line operation -no build support -new database format is not supported |
Filebased | Dummy SCM using the Local Filesystem | +fast
+standalone: no installation required |
-only for small one-man projects
-only local operation -limited build support |
DBbased | Dummy SCM using a Local Database | +fast
+standalone: no installation required (uses SQlite) +remote: uses ODBC to access server |
-only for small projects
-only local operation -limited build support |
Due to the fact that Cincom has recently changed the DB-scheme, the current version of the STORE manager may fail to access a remote STORE database.
The STORE source code manager is an unsupported, experimental goody.
It may require extra work to make it fullfill your particular needs.
File- and DB-Based Dummy SCMs
These two managers are provided as toy/demonstration frameworks. They can be used for versioning of small,
local one-man projects only. They may be useful for simple versioning if no CVS or SVN installation is possible
or wanted.
They can also be used as a guide to how interfaces to other SCM schemes are implemented.
Setting up the Sourcecode Management
-- to be written --
Copyright © 2012 eXept Software AG, all rights reserved
<cg@exept.de>