IBDI -- review of code control systems

Everyone seems to agree with the fact that fast, robust and feature-rich code control system is a must for open source project to succeed. Being a community of IT professionals, we can not afford a solution based solely upon our personal biases and emotions, that's why- this comparison. Contribute, compare and make your choice. Comments and data are .


System *BSD Linux NT Solaris Other
CVS + + + + MacOS(C&S), OS/2, VMS, SGI, SunOSi, HP/UX
FTPVCS + Win32 client
StarTeam + Win 95
Marion + + + Every platform where IB runs

Supported File Types

System C/C++ Pascal SQL Binary Any type/configurable
CVS + + + as is, or using a conversion tool any plain text
StarTeam + + + any plain text
Marion + + + Handles file types used in InterBase


System CLI GUI `Standard', eg email, FTP 3rd party Other
CVS + + + GUI on *nix, Win, MacOS, secure access, Java client, Tcl/Tk, CvsWeb, API
StarTeam + (JVM) + web i/f, Windows Exploreradd-in
Marion + - - - Keeps logs and history, since DB is IB, any type of report could be generated


System Automerge Autodep Wishes/Change Requests Access Control Other
CVS + scripting - + i/f to ext. bug-tracking system
StarTeam - +
Marion - DB access through GDML

Where to get

System URL License Price Other

GPL 0 included in many distros, pre-built clients also available
Marion System been used by InterBase developers

on CVS:

[see the table]
Access control (in pserver mode) Other (see doc, it's highly configurable and customisable, for example: mail notifications, keyword expansion etc.)

....and on FTPVCS:

This one use FTP server as backed. Doesn't support version history for now. Client only on Win32. Very basic functionality (I can recommend it only for very small projects).

on CVS:

AutoDep if you mean knowing the dependencies between different files eg Delphi .FRM and .PAS, then by default no. But I guess the scripting could help. If you mean build dependencies then CVS is not a configuration management tool, look at ANT, make/.configure

on Marion:

It is available on every platform where InterBase runs. A central database can serve all platforms. That helps keep the code from diverging. It was designed to handle the file types used in InterBase. It keeps logs and history and, since the database is InterBase, any type of report could be generated. It currently has a CLI interface which should not be hard to hide behind a browser-based client.

The code is quite straight-forward compared to the engine, but is a good exposure to the coding style used throughout the product set. The database access is through GDML - different but not difficult. Obviously, it's a flexible tool that we can adapt as we see fit.

Finally, nothing improves a cook like eating his own food. We would be making a clear statement of our belief in InterBase by using it ourselves.

Comments on code control systems are copyright to their respective authors.