# Should I include plugins in my SVN?

**URL:** <https://www.ruby-forum.com/t/should-i-include-plugins-in-my-svn/118210>\
**Category:** Deployment\
**Created:** [October 24, 2007, 8:46pm UTC](https://www.ruby-forum.com/t/should-i-include-plugins-in-my-svn/118210 "2007-10-24T20:46:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![silvertab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/22d042/32.png) [@silvertab](https://www.ruby-forum.com/u/silvertab)\
**Post date:** [October 24, 2007, 8:46pm UTC](https://www.ruby-forum.com/t/should-i-include-plugins-in-my-svn/118210/1 "2007-10-24T20:46:15Z")

</div>

Just a simple deployment question… would it be a better idea to  
include the plugins I install in my project’s SVN repository? Or should  
I ditch them and re-install them in my production environment?

Personally I thought it might be a better idea to include them in my  
project SVN so that way I’m sure that the same version of the plugin  
will be used once I deploy my app in production environment… Any  
reasons why I shouldn’t do it?

Also, besides the database config file and temp directories (tmp, cache,  
logs etc)… anything else I should EXCLUDE from my projet’s svn repo?

---

<div class="post-metadata">

**Author:** ![silvertab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/22d042/32.png) [@silvertab](https://www.ruby-forum.com/u/silvertab)\
**Post date:** [October 24, 2007, 9:31pm UTC](https://www.ruby-forum.com/t/should-i-include-plugins-in-my-svn/118210/2 "2007-10-24T21:31:05Z")

</div>

On Oct 24, 2007, at 11:46 AM, Jean-nicolas Jolivet wrote:

> Also, besides the database config file and temp directories (tmp,  
> cache,  
> logs etc)… anything else I should EXCLUDE from my projet’s svn repo?

In my opinion, yes. Lock everything to versions that you’ve tested with.

This is where Piston comes into play. We import plugins into our svn  
via piston so that we aren’t relying on svn external repositories to  
stay up/active… or heaven forbid they make changes and it breaks  
our application on our next deployment.

Here is an article that I wrote on using Piston.

- [http://rubyurl.com/qZi](http://rubyurl.com/qZi)

Hope that helps!

Cheers,  
Robby

–  
Robby R.  
Founder and Executive Director

PLANET ARGON, LLC  
Design, Development, and Hosting with Ruby on Rails

> **[Planet Argon](https://www.planetargon.com/)**
>
> Planet Argon is a Ruby on Rails development agency specializing in maintenance and support for existing Rails apps. Based in Portland, OR, Planet Argon has been a member of the Rails community since 2004.

[http://www.robbyonrails.com/](http://www.robbyonrails.com/)

+1 503 445 2457  
+1 877 55 ARGON [toll free]  
+1 815 642 4068 [fax]

---

<div class="post-metadata">

**Author:** ![silvertab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/22d042/32.png) [@silvertab](https://www.ruby-forum.com/u/silvertab)\
**Post date:** [October 25, 2007, 11:30am UTC](https://www.ruby-forum.com/t/should-i-include-plugins-in-my-svn/118210/3 "2007-10-25T11:30:43Z")

</div>

We mirror the plugins we use with svk into the svn repo and then use  
svn externals into the same repo. This setup has been working without  
problems for us.

You can lock to specific plugin revisions with the usual -r option in  
the external

On Oct 24, 8:46 pm, Jean-nicolas Jolivet \<ruby-forum-incom…@andreas-

---

<div class="post-metadata">

**Author:** ![silvertab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/22d042/32.png) [@silvertab](https://www.ruby-forum.com/u/silvertab)\
**Post date:** [October 24, 2007, 9:45pm UTC](https://www.ruby-forum.com/t/should-i-include-plugins-in-my-svn/118210/4 "2007-10-24T21:45:08Z")

</div>

On 10/24/07, Robby R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > Personally I thought it might be a better idea to include them in my
> 
> This is where Piston comes into play. We import plugins into our svn  
> via piston so that we aren’t relying on svn external repositories to  
> stay up/active… or heaven forbid they make changes and it breaks  
> our application on our next deployment.
> 
> Here is an article that I wrote on using Piston.
> 
> - [http://rubyurl.com/qZi](http://rubyurl.com/qZi)

Same goes for rubygems, (frozen with my gems plugin,  
[http://svn.techno-weenie.net/projects/plugins/gems/](http://svn.techno-weenie.net/projects/plugins/gems/)), or even edge  
rails. I have a rake task that exports specific edge rails revisions  
and creates symlinks for all deployments. Mike C. had an excellent  
blog post taking you from using svn:externals for rails (icky) to  
using the ‘cadillac style’ of freezing rails (adapted from some of my  
rake tasks).

One nice thing is you can easily roll back if things break, rather  
than jump into your server(s) and rollback gems manually.

Here’s one example of the rake task, it’s been used in all my rails  
deployments:  
[http://svn.techno-weenie.net/projects/mephisto/tags/rel-0.7.3/lib/tasks/common.rake](http://svn.techno-weenie.net/projects/mephisto/tags/rel-0.7.3/lib/tasks/common.rake)

–  
Rick O.  
[http://lighthouseapp.com](http://lighthouseapp.com)  
[http://weblog.techno-weenie.net](http://weblog.techno-weenie.net)  
[http://mephistoblog.com](http://mephistoblog.com)
