I need some suggestions for the following scenario:
my Uni group has a huge SVN repository. I'm actually interested in a subdir of the whole thing (e.g. say /trunk/projects/my_project) - dunno if it really matters with SVN
I'll be responsible for 95% of the commits to this project
I'd much prefer to use a DVCS. Preferably Mercurial since that's what I'm familiar with, but I'm flexible in case something else fits the workflow better
There will be potentially many smaller individual subprojects within my_project. I want to be able to work on each one individually
The workflow would be something like following:
create a new subproject
hack hack hack (branch etc)
when a reasonably stable state is achieved, include into the main project and push to SVN
occasionally, I might need to pull some changes from SVN (i.e. by other people) into the main project, or even the subprojects. These will all go into trunk, i.e. no branching on the SVN level
I know about the Mercurial Wiki page for SVN interoperability, and I suspect the Mercurial subrepo features might come in handy, but am still not sure how to organize the whole mess.
As Lucero suggests, hgsubversion is the tool you're generally looking for. Also, as Lasse indicates in his comment to Lucero's answer, using Mercurial's subrepository feature conflicts with how sub- or external repositories are handled in SVN: Mercurial uses plain files to store information about subrepositories and this information is not interpretated by SVN.
Anyway, based on your question it seems you may not need to use the subrepository feature: you only need it in case you want to track interdependencies between individual subprojects. So, assuming you have independent subprojects, just create a directory in SVN below /trunk/projects/my_project
for each project and use Mercurial with hgsubversion for each individually.
The basic message is that hgsubversion allows you to locally benefit from all the DVCS features but when publishing your work, you are more or less restricted to the capabilities of SVN. You cannot make use of DVCS workflows concerning team collaboration when using a central and linear system like SVN as the collaboration hub.
Perhaps it possible to design a (fragile) team-workflow with SVN which imitates some DVCS aspects, but I guess this results in more work than convincing your co-workers to either use Mercurial too or to simply send you patches.