Better Subversion External Branch Management with Piston

Posted by Daniel Butler Thu, 02 Nov 2006 01:59:00 GMT

Subversion exports can be difficult to manage in your Ruby on Rails application, especially if you want to make local changes to a vendor-supplied plugin that shouldn’t really be applied back to that vendor’s trunk (or cannot be). Another reason to keep the vendor’s code checked into your own tree, is that you’ll be able to better see changes to the vendor’s code as they happen and assess the impact on your own code, as well as audit vendor changes that break your application in some way. Externals cannot provide such a safety net. So, into the cylinder of Rails plugins enters Piston by François Beausoleil of Sherbrooke, Québec, Canada. His description:

Piston is a utility that eases vendor branch management. This is similar to svn:externals, except you have a local copy of the files, which you can modify at will. As long as the changes are mergeable, you should have no problems.

Watch him demonstrate its usage:

$ piston import http://dev.rubyonrails.org/svn/rails/trunk vendor/rails
Exported r4720 from 'http://dev.rubyonrails.org/svn/rails/trunk' to 'vendor/rails'
$ svn commit -m "Importing local copy of Rails"
$ piston update vendor/rails
Updated 'vendor/rails' to r4720.
$ svn commit -m "Updates vendor/rails to the latest revision"

As a bonus feature, you can lock piston-gripped trees with piston lock to prevent subversion from updating past a specific vendor’s revision that works with your application. Nice work, François.

Piston @ RubyForge

Posted in  | no comments

Sponsored Links

Sponsored Links

Comments

(leave url/email »)

   Comment Markup Help Preview comment