Topic: Application SVN

I've picked up a halfway developed rails app (developed on Debian) and when I checked out the app from SVN it didn't work on Fedora (looks like the problem was sym links in vendor/.)

Looks like there are differences in apps created on different platforms (at least Debian and Fedora) so:

What parts of the app should be SVN'd?
What parts shouldn't?
If some parts are not SVN'd how do you get those parts when installing on a new platform?

jji

Re: Application SVN

imholzj wrote:

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.

imholzj wrote:

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.

Railscasts - Free Ruby on Rails Screencasts

Re: Application SVN

Thanks.

The database.yml file makes sense, I've got a database.yml.dist in SVN.

One specific problem I've run into is that rails on Debian/Ubuntu creates symbolic links in the vendor/ directory for action mailer,pack,webservices,record,support,rails, and railties, but Fedora doesn't. 

So the vendor/ directory doesn't seem be platform independent, are there any other directories like that?

jji