Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-02-02 14:17:19


Walter Landry <wlandry_at_[hidden]> writes:

> David Abrahams <dave_at_[hidden]> wrote:
>>
>> I am just posting this here to alert those who look at subject lines
>> to what we're discussing. To review the whole discussion, see
>> http://news.gmane.org/find-root.php?message_id=%3cuk6pujjyu.fsf%40boost%2dconsulting.com%3e
>
> One thread you might find interesting
>
> http://news.gmane.org/find-root.php?group=gmane.comp.version-control.subversion.devel&article=53583
>
> It talks about the troubles Mono had in going from CVS to Subversion.
> YMMV.

I agree, it's very interesting. I recommend that everyone interested
in the transition read at least the first message in that thread.

I use cvs annotate less often than Mono developers, around once a
week. If svn blame is 10x slower it will be a little bit annoying for
me, but not intolerable. I'm less sure how the cultural issues will
play out for us. I hope we're more adaptable than those Mono guys,
but there's only one way to find out for sure.

> My personal opinion is that, if you want a centralized version control
> system, you aren't going to do significantly better than Subversion.
> There are a fair number of large projects using it, and, especially
> with the new fsfs backend, it seems to work pretty well for most
> people.

Hmm, I hadn't read about that before. Looks good!

http://svnbook.red-bean.com/en/1.1/ch05.html#svn-ch-5-sect-1.3.2

> However, I am not a big fan of centralized version control, and
> vastly prefer a distributed approach. Distributed systems let
> people use version control when they are not connected to a central
> server, so when the server goes down you can still get work down.

?? I get work done when disconnected from CVS.

> So the problem that spawned this thread about a CVS lock is much
> less of an issue. In fact, if the central server goes down
> unexpectedly, it is relatively easy to set up a new server somewhere
> else.

That's a nice feature.

> Also, it is much easier for people to make private branches and
> contribute changes. No one needs accounts just to get work done.
> This blog entry summarizes it rather well
>
> http://web.verbum.org/blog/freesoftware/distributed-future
>
> In any case, there are a few different free decentralized version
> control systems.
>
> Darcs www.darcs.net
> Very easy to use. Fairly mature with good windows support,
> but it has some performance problems. It will probably have
> problems with a project the size of Boost.

Sounds like a poor choice, then.

> tla wiki.gnuarch.org
> Mature, but overly complex and has some annoying limitations. The
> windows client is definitely a second-class citizen. Should be fast
> enough for Boost.

Sounds like a poor choice due to annoying limitations and poor Windows support.

> Monotone www.venge.net/monotone
> Beta. Windows support is relatively good. Well engineered,
> but unsure about speed with Boost.

Only on release 0.16. I don't think it's ready for us.

> svk svk.elixus.org
> Beta. Adds distributed capabilities to subversion. It is the Rodney
> Dangerfield of version control systems: it doesn't get any respect.
> However, I don't see any obvious problems with it.

My biggest concern is that it might not be widely adopted. Subversion
seems to be the de-facto successor to CVS, and therefore I think it
has a strong future. Secondary concern: it's written in Perl (only
half-joking). Tertiary concern: only on release 0.29

> ArX www.nongnu.org/arx/
> Beta. This is my personal project. Windows requires cygwin.

I think that's a problem for many windows users. I love having
cygwin, but apparently it is anathema to some.

> I personally use it to version control Boost, and it works well
> for me. In fact, it is probably the fastest of all of these for
> most common local operations.

Biggest concern is the same, but even more so: there seems to be even
less momentum for adoption than with svk.

That said, it seems as though you can use svk on top of a centralized
svn repository (arx too?) so maybe people can get this sort of
functionality even if we adopt svn?

> There are other differences, but I will spare you the details.
>
> Realistically, no change will work unless a major contributor to Boost
> gets religion and invests some time in learning one of them. All of
> these systems, including Subversion, have their annoying differences
> from CVS. It sounds like Subversion has such a convert with David
> Abrahams.

I'm not a "convert," and my experience with svn is limited. I'm still
in the early phases of experience with it. SVN seems like the logical
choice to me, but I'm open to considering others.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk