
Walter Landry <wlandry@ucsd.edu> writes:
David Abrahams <dave@boost-consulting.com> 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%2dco...
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