Эхх, сложный.
Прежде всего, если у вас есть такая возможность, хорошо бы разделить часть «код» и «сеть». Нечто подобное.
web/
web/css/
web/upload
code/
code/lib/
code/actions
Это выводит PHP из веб-корня. Это безопаснее (атакующий не сможет получить доступ к вашим файлам, введя URL в браузере). НО - для этого требуется соответствующий дизайн приложения (например, платформа Symfony дает вам похожий макет).
Второе - нет ничего плохого (на мой взгляд) в бинарных файлах внутри репозитория SVN. Однако все зависит от того, о каких файлах мы говорим. Если не загруженный пользователем контент - продолжайте. Чем менее сложным является развертывание, тем меньше шансов, что что-то пойдет не так.
Кстати: вы всегда можете отказаться от некоторых папок содержимое от svn, чтобы пользовательские файлы не мешали вашим файлам.
Итак, одну вещь, которую вы должны сохранить в своем дизайне, - это отделить введенный пользователем контент вашего контента (лучше всего создать специальные папки для пользователей и отказаться от них в SVN).