
If I understood correctly your context, a dsvc user would have simply cloned locally several times his repo (it s basically copy/pasting), one for each context of work, then work on them separately but maybe at the same time. Then merging the histories (in different or same branch, it s not important) is easily done by making your main work repo pull changes for the other local repos. Your main repo becomes the authoritative repo of your work while the others are more like separate works that need to be merged in the main repo once ready. All this happen only on your disk. It s better to clone repos locally each time you think you ll work on branches or youll experiment or work on an eavy feature. That way you isolate your side work from your normal work and the nature of dsvc allows you to easilly merge both when it s time, if its a good idea (sometime you get far in a feature to discover its wrong, so you just delete the repo and go on). If your question is more: how do I commit only specific files instead of everything that changed; then there are arguments to commit commands to do this. Im most of the time using tortoise hg so its a bit more graphic to choose which file goes in which commit. I do this a lot when I just did a lot of separate semantic changes but didnt think yet about commiting. That said, choosing what to commit is the same in svn. I m not sure I answered your question though. Joel Lamotte