[M3devel] (Offtopic) Some comments on SCM tools, was: Re: M3 concerns
Olaf Wagner
wagner at elegosoft.com
Thu Jan 10 12:20:20 CET 2008
Quoting hendrik at topoi.pooq.com:
> But if you have this experience, it would be useful to see a rundown
> of the advantages and disadvantages of each. I've seen a table of
> features against version control systems, but it doesn't give any feel
> for what it's like to use them.
>
> Such an essay would be useful for those involved in other projects. It
> probably won't help Modula 3 itself.
That would easily become an open-ended task :-) It is not easy to
compare different complex tools like SCM systems, which interact
in various degrees with process control, workflow management, problem
management, project management, general policies...
We've tried to provide feature-oriented comparison lists some years
ago, but even this needs too much efforts and is too fast out-of-date.
There are some aspects that may currently be helpful as criterions
though. I'd like to mention some of them
o Traditionally, version control tools were centralized server systems.
There is one central repository (which can in advanced setups be
replicated to several sites for many systems. Replicas may even be
partly writable. In case of replication there is one `logical' central
repository which is physically distributed.). Systems in this group
are CVS, ClearCase, PVCS, AccuRev, Perforce, Subversion, and many
others.
In recent years, peer-to-peer systems have become popular, because
they correspond better to certain aspects of open software projects
and are inherently distributed. There is no distinction between
workspace and repository, and each workspace holds a partial or
complete change history.
Such systems are BitKeeper, git, Darcs, and others. As far as I know,
these systems are not very popular in the commercial world (yet?).
o An orthogonal criterion is the range of functionality that is addressed
with the solution. Simple systems like CVS and Perforce do just version
control and offer some hooks for further integration.
On the other side are process-oriented systems like PVCS Dimensions or a
complete ClearCase/ClearQuest setup for RUP. These systems are
rather based on change management und workflow than on developer
needs. Basic abstractions are baselines, changesets, tasks, projects,
activities, functional roles.
Of course, some tools are somewhere in between these extremes, like
AccuRev, which supports kinds of long-running transactions for
everything, called `streams'. (This one's very nice IMO.)
o Then there are the costs of the use of the systems. There are always
costs, even for open source solutions. You have to consider
- server costs (hardware, energy, OS, database, licences, networks)
- administration and maintenance (servers and user setup)
- user license costs (from 0 to several thousand dollars per year)
- use overhead (depending on tool usability and process)
- instruction and training
Again there are systems that are rather lightweight in this respect
(like CVS and Perforce) and some tending to be more heavyweight
(like ClearCase and PVCS).
o The `end user experience' corresponds very much to the basic
concepts needed in everyday use. File based ci/co is very
simple, development lines are more or less a must have,
change sets and baselines (like in DCVS, AccuRev or RUP) are very
nice; diffs and merges seem to be too complex for many users
(but are of course needed); conflict avoidance vs. conflict
resolution (locking or optimistic approach) is often a religiously
discussed topic.
The other important issue here is the IDE integration (at least
for developers).
These are only some randomly picked topics that would need to be
addressed in a useful tool comparison.
There are very few situations in which you can evaluate and choose
the best tool for your purpose; most of the time, you have to adapt
and improve existing setups, as everything else would be too
expensive and disrupting. Our company has supported several migration
projects recently though, so it's not impossible to change ;-)
As for CM3, I'm still of the opinion that there is no need to
change the existing CVS infrastructure.
> Or might you know of such an essay elsewhere?
Well, the more interesting field studies and evaluations are not
free; there are quite a lot of interesting articles though.
I haven't any links here right now; CM crossroads or a Google
search on `configuration management' should be a good starting point.
Olaf
--
Olaf Wagner -- elego Software Solutions GmbH
Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95
http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
More information about the M3devel
mailing list