edit: subversion 1.6 has been released. From the release notes:
In Subversion 1.6, the --set-depth
parameter to svn update has grown a
new value—exclude. This value tells
Subversion to exclude the target from
the working copy, immediately and
until further notice. Prior to
Subversion 1.6, if a directory could
not easily be removed from a working
copy. ...
All the stuff below is obsolete now.
You could limit the depth of the folders in your working copy in the right places so that the undesired files don't appear as versioned files. You can't reduce the depth in an existing working copy though.
1) Checkout a clean working copy like this (it will contain only files and empty folders in the root):
svn co --depth immediates repoURL
/some/wc/path
2) Now for each folder that you DON'T want to ignore, pull in the content with
svn update --depth infinity /some/good/path
If the folder with content to ignore is not in the root of your working copy, you can work your way down the tree gradually with repeated calls to
svn update --depth immediates /some/path/to/make/deeper
This approach does have a disadvantage. If the files to ignore appear in your working copy through your own actions (e.g. build), they will show up in svn status as unversioned files. You can even svn add them and cause "file already exists" commit errors.
edit: Apparently you CAN reduce the depth of parts of your working copy, which is much simpler:
- normal project checkout (or start
from existing working copy)
- delete undesired folder (normal
filesystem delete, not svn rm). At this point the folder is missing and would return with all it's evil content if you did a normal update.
- bring back the folder with
svn update --depth empty
/path/where/deleted/folder/was
Now you can do svn update of the entire project but the bad content will not return.