Skip to Content.
Sympa Menu

sm-discuss - [SM-Discuss] using another CSM ?

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Laurent Wandrebeck <low AT low.ath.cx>
  • To: sm-discuss AT lists.ibiblio.org
  • Subject: [SM-Discuss] using another CSM ?
  • Date: Sun, 17 Oct 2004 21:31:24 +0200

Howdy !
What you will read is personnal opinion and is not meant to launch a
flamewar. Remember, I may be wrong somewhere, and will probably be.
(beware, quite long mail...)

1 Changing CSM, why ?

1.1 History/Current situation.

Once upon a time, when Kyle Sallee left with all contents, sources,
website, repositories, people left were quite disappointed, and in a
severe situation. We had to find hosting, to set up everything from ground
so we could continue Source Mage (still called Sorcerer in these dark
days) development. Tony Smith, working at Perforce, offered us the CSM
tool, set up, and hosting. That was a holy present we could not refuse,
because it was a great help. So being in a critical situation thanks to
some foul, we ended up in another situation, more comfortable, but still
dangerous. Just imagine Perforce company would have closed doors, would
have changed its license (price or whatever), OUR data would have been
emprisonned. That was a couple years ago, and things have evolved. The
main problem is, here, not the Perforce features, but the fact it is not
Open Source, not GPL, whereas Source Mage is. And it's, IMHO, a shame not
to use GPL tools. How can we appear serious promoting Free Software when
we rely on proprietary one ?

2 Using a free CSM, ok, which one ?

2.1 CVS

That one is known by virtually every developper on this Earth. Its code is
stable, but ideas are really becoming old. File changes oriented, no way
to have changesets. I could add some drawbacks, but I think lack of
changesets is an important drawback enough so everyone understands we
can't use it without too much pain. Just imagine you've done a rewrite of
a quite complicated spell. a file of the spell has been renamed, you've
done two or three changes in another one, and one in all the other files.
You'll have to type quite a couple commands to get back to the previous
working version, you'd lost history for the renamed file. Too much
annoyance.

2.2 Subversion (SVN)

Probably the one that will become the "next" CVS. Why ? They kept CVS
commands, so that one doesn't have to change his good old habits. Lots of
people are working on it, several GUIs exist, documentation is there. SVN
is based on CVS ideas, with workarounds so that its limitations aren't too
obstructing (now, there are atomic commits, etc). Use of workarounds shows
that design is quite flawed, which will inevitably turn into problems in
the future. Another drawback is the need of Apache 2 run time library.
This implies quite a heavy machinery just to host a repository. A program
has been created (SVK) so that SVN appears as a modern CSM (decentralized,
advanced merging features), but it is not, from its architecture point of
view. To me, it appears like an old thing, which was surface cleaned, but
don't try to scrape the paint. So, you need, just to be able to work in a
sane way: Apache 2 run time library, Subversion, SVK. Last point, it is
released under a free license, right, but not GPL. So, SVN would not be
the best solution IMHO, but may be good enough.

2.3 tla (GNU/Arch)

I must admit that tla is the SCM of my choice after having read some
documentation. So it is the one I know the most (but I'm far from a tla
guru). tla is not perfect, GUIs are quite seldom, and/or incomplete.
Documentation is there but may not be the best. There is still heavy work
under the hood, but a couple projects use it: Xouvert, tla, etc, so that
shows it is perfectly usable. It is a standalone project, so you can
choose how you make archives available: http, ftp, ssh...Moreover, it is
fully decentralized, but you can anyway work "à la" CVS, with a central
repository. A patch queue manager exists (arch-pqm). There are hooks
(triggers), which launch whatever you want before and after commit, when
branching etc. A couple bash scripts and you have mails reports, and
everything you need. Advanced merging features are there. It is a GPL
program. Once you've learned its command set, GNU/Arch is the CSM in my
humble opinion. A bit difficult to apprehend, but powerful enough so we
can work sanely.

2.4 others (Aegis, Monotone...)

My CSM knowledge is quite limited, so I don't know of every CSM on this
earth. I've heard of a couple others thanks to
http://better-scm.berlios.de/comparison/comparison.html . Apart from
proprietary ones (excluded due to their license), remaining ones are not
widely used/known enough to me. That's why I won't comment on them, and
not choose them either. When I was to choose a CSM for my (little) needs,
I read a couple papers on CSM, and none of the "others" hit me enough.

That's it. Feedback welcomed.
Keep up the good work guys.
Kind regards.
--
Laurent Wandrebeck irc nick: low
GNU/Linux user #114549
Source Mage GNU/Linux
GNU/Linux so advanced it may as well be magic
Source Mage Developer
http://www.sourcemage.org
/~\ ASCII Ribbon Campaign
\_/ Stop HTML mail and news
/ \




Archive powered by MHonArc 2.6.24.

Top of Page