From: Francois Beausoleil Date: 2006-11-18T00:53:05+09:00 Subject: [ANN] Piston 1.2.0: status, better update Piston 1.2.0 is here. From the ChangeLog: * New status subcommand. Shows M if locally or remotely modified.Applies to one, many, all folders. This subcommand *requires* theuse of a Subversion 1.2.0 client. Thanks to Chris Wanstrath for theinspiration. His Rake tasks are available athttp://errtheblog.com/post/38. * Minor patch by Miguel Ibero Carreras to make Subversion always usethe C locale, instead of the current one. This allows Piston to beused with internationalized versions of Subversion. David Bittencourtlater reported the same problem. Thanks! * Better handle how update finds it's latest local revision to preventconflicts. If you had never locally changed your vendor repositories,this fix will change nothing for you. This helps prevent localconflicts if you had ever applied a local patch. == Installation $ gem install pistonSuccessfully installed piston, version 1.2.0 (Allow some time for the RubyForge file release system to propagate the gem) There is no need to install "Piston":http://piston.rubyforge.org/ onyour server. A local installation on your development machine is allthat you need to administer the remote code. == Caveat It is *imperative* that you locally update your piston:local-revisionproperty manually, just this once. Prior to 1.2.0, Piston wouldalmost never update the piston:local-revision property, meaning itwould always think there were local changes. With the new updateimplementation, Piston would try to merge changes that had alreadyoccured, causing many conflicts. You need to reset the value ofpiston:local-revision to the revision where you last did a pistonupdate or import. An example is in order. $ svn propget piston:local-revision vendor\rails29 $ svn log -r head:1 vendor/rails------------------------------------------------------------------------r31 | francois | 2006-11-17 10:05:54 -0500 (ven., 17 nov. 2006) | 1 line Updated to Rails r4500------------------------------------------------------------------------r30 | francois | 2006-11-17 10:03:48 -0500 (ven., 17 nov. 2006) | 1 line Import Rails r4393------------------------------------------------------------------------ $ svn propset piston:local-revision 31 vendor\railsproperty 'piston:local-revision' set on 'vendor\rails' $ svn commit --quiet --message "Updated piston:local-revision to 31,per ChangeLog instructions" Visit http://piston.rubyforge.org/ for all the details. == What is Piston ? Piston is a utility that eases vendor branch management. This issimilar 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. Piston has a similar purpose than svnmerge.py which you can find inthe contrib/client-side folder of the main Subversion. The maindifference is that Piston is designed to work with remoterepositories. You should also investigate if SVK would be a better fitfor you. From Wikipedia's Piston: * In general, a piston is a sliding plug that fits closely inside thebore 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 Piston, we retain the second meaning, to exert a force on a fluidinside the cylinder. In our case, the fluid is the code copied fromthe remote repository. Enjoy !-- Franå·½ois Beausoleilhttp://blog.teksol.info/http://piston.rubyforge.org/