[ANN] Piston 1.3.0: Switch between repository locations

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 <http://errtheblog.com/>.

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

Use piston switch like this:

$ piston switch http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-1
vendor\rails
Processing 'vendor\rails'...
   Fetching remote repository's latest revision and UUID
   Restoring remote repository to known state at r6010
   Updating remote repository to
http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-1@5990
   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 svnmerge.py which you can find in the
contrib/client-side folder of the main Subversion repository at
http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge.py.
The main difference is that Piston is designed to work with remote
repositories. Another tool you might want to look at, SVK, situated at
http://svk.elixus.org.

From Wikipedia's Piston page (http://en.wikipedia.org/wiki/Piston):
  In general, a piston is a sliding plug that fits closely inside the bore
  of a cylinder.

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

For this utility, I retain the second meaning, "to exert a force on a fluid
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

···

--
François Beausoleil
http://blog.teksol.info/
http://piston.rubyforge.org/