Forum: Ruby Piston 1.3.0: Switch between repository locations

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
3dd4b52a0946bd698b1d1635a46ea3a3?d=identicon&s=25 François Beausoleil (fbeausoleil)
on 2007-01-22 21:52
(Received via mailing list)
Piston 1.3.0 is out the door.  There are two significant changes:

* Piston status shows the revision number of locked repositories.
Thanks to
  Chris Wanstrath <>.

* New piston switch subcommand to switch repository locations.  Thanks
  Greg Spurrier for the prompt which resulted in finally implementing

Use piston switch like this:

 $ piston switch
 Processing 'vendor\rails'...
   Fetching remote repository's latest revision and UUID
   Restoring remote repository to known state at r6010
   Updating remote repository to
   Processing adds/deletes
   Removing temporary files / folders
   Updating Piston properties
   Updated to r5990 (663 changes)

= What is it ?

Piston is a utility that eases vendor branch management. This is similar
to <tt>svn:externals</tt>, 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.

This tool has a similar purpose than which you can find in
contrib/client-side folder of the main Subversion repository at
The main difference is that Piston is designed to work with remote
repositories.  Another tool you might want to look at, SVK, situated at

From Wikipedia's Piston page (
  In general, a piston is a sliding plug that fits closely inside the
  of a cylinder.

  Its purpose is either to change the volume enclosed by the cylinder,
  to exert a force on a fluid inside the cylinder.

For this utility, I retain the second meaning, "to exert a force on a
inside the cylinder."  Piston forces the content of a remote repository
location back into our own.

= Installation

Nothing could be simpler:

 $ gem install --include-dependencies piston
This topic is locked and can not be replied to.