Hi Niels,
Ah cool, did you tried the hgsubversion extension? Hadn't tried it by myself but it looks promising. Would't help in my particular problem but in generalit would be cool.Unfortunately that does not suffice the way it is currently implemented. The issue is that in order to push changes to svn, it will always require you to 'rebase' changes, meaning your history is messed up, which also makes it impossible to share repositories and changes with others, except when you only work with short-lived end-of-line branches. You could imagine a group of people working on a feature, and then at the end they put the changes into svn and discontinue the branch. Now there also is a solution. Currently the software is written in such a way that there is a direct link between an svn changeset and a hg changeset. Actually, a 1:1 connection. However, with distributed rcs, the linear history disappears. r means subversion revision, h is mercurial revision. r1 -> r2 -> r3 -> r4 -> r5 -> m/r6 \-> h1 -> h2 -> h3 -----/ The feature that needs to be implemented is that when the h1-h3 + merge changeset(s) are pushed, that that diff is committed to svn. Then the hg-svn bridge needs to be taught that the whole sub-branch corresponds to that revision in svn. Anyway, I will be looking at that and possible solutions as my next project.
I see. But is it worth the effort? Whats about switching to hg (or a other distributed system) completely? Form the experiences of the last days svn was a way to slow for me. E.g. doing a branch diff takes several hours. I think you can use hg similar to svn by always pushing into the default branch. The only disadvantage I see is that you need an additional step to commit stuff (commit it locally and then push it to the server), but this is not necessarily a disadvantage. For example you can check your commit again before finally push it.
Regards, Clemens