As you've probably seen from the other posts, the general answer to this issue is "Don't do that." Generally speaking, Subversion is used for individual checkouts of some or all of a repository to the local workspace.
If you absolutely, positively, must have a view of the entire repository per developer, but a developer is only changing a small portion, here's a potential solution for you. You'll need to develop a few scripts to facilitate what I'm describing (which is based on a UNIX IDE I used to use).
I'm also assuming, from your comments, that the environment is UNIX or Linux - I don't think the following is possible in Windows.
- Check-out as read-only the entire project in some location. Ensure that all developers have read access to it.
- Have a script a developer can execute that crawls the directory structure creating a mirror of the structure using symbolic links to the read-only directory in that developer's workspace.
- When checking out a portion of the tree to edit, delete the symlink and check-out that path from Subversion (you'll probably want a script to wrap
svn
commands to handle this)
- Either on
svn commit
or in a separate script, you'll probably want to delete the workspace directory and re-establish the symlink.
- Have the read-only copy updated, either through a
post-commit
hook in Subversion or periodically with cron
or something similar.
The symlinks provide a view of the entire tree per developer, and allow for a "local" checkout of only those portions of the tree that the developer is actively editing.
The reason for the circumlocutions is that Subversion really wasn't intended to be used in this manner. However, this method will work, with some pain, for what you describe.