Some time ago I fret about Mercurial. My opinon on that has not changed since then. The conversion tools are still ridiculously bad and the fact that no development group is interessted in SCM protocol interoperability is pathetic.
Nevertheless, I want to talk about Mercurial again. During the last weeks I worte some (scientific) texts together with several co-authors. These texts were controlled by Subversion repositories. I have to say: It did work perfectly!
Additionally I am working on a small (or maybe medium-sized) code project. There I create a library which is used by several persons by now. This is part of my working project VICCI. For reasons out of my control there is only one single subversion repository for all subprojects in VICCI and there is a globally dictated directory structure making it impossible to set up the usual “branches” and “tags” subdirectory for my project, because of external dependancies. This is … painful. I really should make some changes of the API of my project, but as it is now, I cannot do this without either not commiting unfinished code for some time or without breaking code of some of my colleagues. Of course there are solutions which only break everything for a very short time and which make everything better after that. But it is amazing how difficult it is to change something as soon as the group of people involved has a certain size. Whatever. With the current state I will not be happy.
A nice technical solution would be multi-protocol interfaces to repositories: i.e. a hg- or git-repository with interfaces for all: hg, git and svn. This is possilbe (see my conversion-tool-rant). Just, no one is doing its. *sigh*