What parts of the app should be SVN'd?
I generally skip the database.yml file and everything in the log and tmp directories. I may skip a few other things, but those are more project specific. Everything else I keep in subversion and so far that has worked really well.
Regarding the project specific stuff, I don't put stuff in subversion that has a large file size. That's because capistrano checks out a new version every time and it can be annoying waiting several minutes per deployment for it to download everything. the hard drive space also adds up quick. This stuff should go in the shared folder and use a symlink. I'm not talking about all images, just any resources that might be over 1 MB or so.
I also don't put anything in subversion which is already in another svn repository (plugins, edge rails, etc.). Subversion should be set up to extract these.
BTW, I will be releasing a Railscasts epsiode on this tomorrow so you may want to check that out.
If some parts are not SVN'd how do you get those parts when installing on a new platform?
Well some config files are specific to the server, such as the database.yml file so those should be manually regenerated. If there's other large assets that are outside the repository and they are necessary for the app to work, put them up on some host and give instructions in the rails project README to download them. The log and tmp files will automatically be recreated.
- Free Ruby on Rails Screencasts