The key point I see missing here is the fact that centralized development is a subset of what a distributed model can do.
I think there's a good possibility that one of the distributed systems will focus on making centralized development work well. I don't think they've done that yet. They are ignoring something important as a result. Since there's so much competition at the moment hopefully someone will try to differentiate in this way. I can even imagine a centralized fork; just like svk is like fork of svn, the opposite might happen. At least, I hope it does -- I personally am not tied to Subversion.
For larger projects, we can set of a central server for darcs
I think that should be the first thing to happen for a new project. Personally I "set up" a central server for all of my projects now, because I happen to have an svn repository at my disposal. Keeping 1 project or 100 projects in one svn server isn't substantially more difficult. Managing permissions is a pain... but eh. Easier than ssh accounts at least. I'm also generally fine giving people access based on informal agreements about permission.
I use svn for one project and am definitely slowed down because it doesn't offer interactive commits, updates or easy cherrypicking of patches.
I don't think these are problems with centralized servers. There's hard problems to be solved, and it's clear the new batch of version control systems is addressing many of those problems better than Subversion has. (And it's not surprising they are doing it with high-level languages.) Subversion hooks have a tremendous amount of potential, though, and I'd hate to lose that feature.
"I think there's a good possibility that one of the distributed systems will focus on making centralized development work well."
For darcs, there's the "darcshive" centralized server project:
Thanks for the response, Ian.
I think there's a good possibility that one of the distributed systems will focus on making centralized development work well. I don't think they've done that yet. They are ignoring something important as a result.
Working with a centralized server is arguably easier with darcs than svn.
Svn recommends you think about your branches, tags, and overall layout when you create the project. There is no need for this in darcs.
Svn has a special command, 'svn import' for starting a project. darcs has a syntax that is as easy to use, but more general purpose, as it can be used whenever you want to creat a new branch:
darcs put email@example.com:/home/repos/my_new_project
There is nothing special to learn about users and permissions, as you can use unix permissions and ssh, or gpg-signed e-mail to transport patches.
It's not clear to this to me why this wouldn't be considered "working well". It has the added benefit that casual contributors can still commit repeatedly offline on their laptops before sync'ing, or easily create their own branch.