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/