Piston: anyone know how to convert existing checked in plugins?

We're moving to use the piston gem to manage our plugins, which is a nice alternative to the svn:externals approach to keeping your plugins up to date.

We already have added the plugins we use to svn. Is there a (simple) way to add them to piston's management?

(piston's import command only works if the plugin is not already under source control) (piston's convert command only works if you are moving from using svn:externals)

Thanks --


IMHO, you should really delete a directory (i.e. vendor/plugins/some_plugin) from svn first if you want to manage it with piston.

Since you are talking about a plugin, that really shouldn’t be a big deal (plus you have the revision history anyway).

If you have customizations I would just reintegrate them into the code after it’s been imported with piston. Then you use piston to manage any merges when you upgrade the plugin down the line…


Walter McGinnis


And when I say “delete a directory… from svn”, I mean “svn remove path/to/the/directory” or whatever.



piston convert

Ryan, that will only handle svn:externals, not directories that have been submitted to full version control as thearrison seems to have done.



Simple? Safe? I don't think so. Piston sets four svn properties on the root directory of the imported directory

$ svn proplist Properties on '.':   piston:root   piston:local-revision   piston:uuid   piston:remote-revision

You can set these properties yourself using svn propset, the trick, of course is, to find the right values. Here's what I do: Create a throwaway project and piston import the plugins there. Look at the properties piston sets, excluding piston:local-revision, and set them on your existing plugins. As for piston:local-revision, I'm not entirely sure of the semantics, but I think it is the local revision when piston last did anything on the directory.