Yesterday I sent out a note saying what I thought was lacking in CVS and it's cousins. Today let me say where I'ld like to go with DCMS. By the way, I'm organizing my thoughts to put up a proposal on CoSource and maybe get paid for some of this.
Replicated repositories: I want to be able to replicate things on a project by project basis. People using CVS currently do this with rsync, but that leaves the problem of still having a centralized repository for commits, and that doesn't work when your modem isn't connected.
Local repositories: I tend to go through a series of changes before getting one I'm happy to "publish" for the world to use. I want that sequence captured, because I sometimes need to undo. That means that I need the ability to do a local commit on a private branch. I then want a means to say: "This version I am happy with, merge it back in to the main branch and publish the history trail so people can see the evolution."
Process support: I want to be able to build programs into the CM system to support different kinds of processes. These range from preconditions on actions ("before you can check in the following condition must hold") to transformations on content (variable expansion, newline processing).
Public repositories: I want to be able to accept a change from, say, Ben (hi, Ben!) as follows:
Access control: We need a means to control access and modification to things on a branch by branch basis.
So anyway, this is some of what I'm thinking about.
Truth is I'm doing this to solve a personal development need, but I'm also trying to "plan for success" here, and the number of people who have said they want to contribute to EROS is a little worrisome. We need better tools than I have seen if I am going to support that. And I *do* want to support that. The CVS repository on eros-os.org is already reeling under the load.