It is common to have all sorts of extra files, libraries, vendor drops
etc in various sub folders of a large project, half of which I rarely
need to have on my local machine so I occasionally make use of the
sparse checkout feature. This works great in general except for
initial checkout when I need to first get trunk then individually load
those folders. I have sometimes thought about moving some things
(such as modifications from vendor branch) out of the trunk so that a
simple checkout would get me only the things I want this is asking for
trouble since these wouldn't be included in tags anymore thus making
it difficult to find what when with what when.

A better solution I think would be to use a custom property to set a
default checkout depth (svn:checkout-depth empty, files,
immediiates). During checkout add an option "repository default" to
drop down menu on checkout dialog. If this option is selected then
the property will be used to control the checkout depth, but user
could still change option to fully recursive if desired.

This would save a lot of space on my drive, and help other developers
that aren't as familiar with the sparse checkout feather and/or
familiar enough with the project to know that is actually required to
build.