Site source control and blacklight

11 Mar 2009

I’ve been thinking about the best way to put Stanford’s blacklight application into our own source control. I see three options:

1. Include the plugins in local source control.
Pro: installing application from our source control is simple.
Con: Using local source control for the plugins makes it challenging to update the plugin code from the external repositories.

2. don’t include the plugins in local source control.
Pro: You can update the plugins using RoR built in scripts: ruby script/plugin update (external_svn_url)
Con: Extra steps to install local application.

Note: if doing this: Do NOT put the empty “(yourapp)/vendor/plugins” directory into your local application’s subversion.**

3. use svn:externals for the plugins.
Pro: You’ll get the plugin code updates automagically, and you don’t have to muck about with them in your local subversion
Con: You don’t have control over what version of the plugin you’re getting – it’s going to grab the latest from the external repos. This can be bad, specially when you’re using unstable code. Also: what if the plugins are in a git repository??

For the record, I chose 2. Post a comment to this blog post if you have input.