On Thu, May 11, 2006 at 09:47:11AM -0400, Vlad Seryakov wrote:
> What is the reason for NOT SELF-HOSTING Naviserver repository?
It's not obvious? One, OVERHEAD. Two, people lose interest, go away,
or just lack time. If those people happen to be the one's providing
or maintaining the servers, Bad Things can happen. It's better to
avoid those risks if you can.
Public systems like SourceForge have several important advantages:
You don't have to DO anything to keep it running, that's someone
else's job. It is neutral ground, equally usable by and accessible to
EVERYONE in the open source world. It also serves as a way to FIND
projects, interact with multiple projects in a consistent way. Etc.
> any problems and working with SVN is much better experience, in my
> opinion the switch is worth it. Client-server model is fine here,
> especially for small teams, if server is available from anywhere, i see
> no problem.
CVS's centralized model is also fine, in the exact same way that
Subversion's is. That doesn't mean it's a particularly good choice.
My gut feel (which could, of course, be wrong): If you're going to go
to the trouble to convert from CVS, change to something dramatically
better - one of the new-fangled distributed version control systems -
not to something merely slightly better.
In case it's useful, here's a list I wrote up a while back, it gives
the names of various version control Ubuntu packages, all easily
installable with apt-get. I planned to experiment with each of these,
but haven't gotten around to it yet:
tailor xxdiff meld mercurial monotone
darcs darcs-load-dirs darcs-buildpackage
subversion subversion-tools svn-buildpackage
bzr bazaar arch-buildpackage
tla tla-doc tla-load-dirs tla-tools tla-buildpackage
Here's a bit of background on each of those, basically just from me
reading some docs:
- tailor: Converts to/from CVS and lots of other version control
archive formats.
- xxdiff, meld: General purpose multi-way diff and merge tools,
supposedly good.
- mercurial ("hg"): Various Linux kernel projects (Xen, etc.) use it,
it's supposedly very fast. Chuck Blake likes it, says he switched
to it from Darcs because it is easier for him to hack on (something
about Mercurial being many fewer lines of Python than Darcs is of
Haskell).
- darcs: Supposed to be very easy to use, but kind of slow. "Patch
theory" to automatically determine dependence/independence of
patches. Written in Haskell.
- monotone: Not much info on this one but from comments it might be
good. Uses 3-way merge and SQLite. D. Richard Hipp (author of
SQLite), who seems picky, likes it the best so far.
- bazaar ("baz"): Ubuntu's fork of Arch/tla, presumably in heavy use
for all Ubuntu packages. Supposedly somewhat cleaned up command set
compared to tla, but it's still Arch. Same wire format as tla so
they can inter-operate.
- bzr: The next-generation Bazaar for Ubuntu, re-implemented in Python
rather than C. I don't think Ubuntu has switched yet from baz to
bzr but I'm not sure.
- tla ("Tom Lord's Arch"): The standard Gnu Arch implementation in
C. Reputation for being unnecessarily complicated to use, although
people like it anyway. (If you have baz installed, do you need tla
for any reason? Dunno.)
- subversion ("svn"): Centralized version control system (all the ones
above are distributed), intended to be like CVS but with fewer
flaws. R uses it.
I don't find Subversion very interesting, as from reports they've
created a great big codebase in order to obtain a rather modest
improvement in functionality over CVS. The distributed tools seem to
have much more potential. But, Subversion was ready earliest, and
various open source projects have adopted it, so you clearly want the
svn client available.
There is also "svk", which is a distributed VCS implemented in Perl on
top of Subversion. I know little about it, but the idea sounds kludgy
to me.
--
Andrew Piskorski <[EMAIL PROTECTED]>
http://www.piskorski.com/