Agreed. alex
On Wed, Jul 29, 2009 at 8:47 PM, Daniel Spiewak <[email protected]> wrote: > I don't see a problem with leaving this patch on for all platforms -- at > least until JRUBY-3381 is resolved. Moving across devices requires a fully > copy anyway, so it's not like the workaround is any less efficient. > > Daniel > > On Wed, Jul 29, 2009 at 10:38 PM, <[email protected]> wrote: > > > Author: vborja > > Date: Thu Jul 30 03:38:58 2009 > > New Revision: 799160 > > > > URL: http://svn.apache.org/viewvc?rev=799160&view=rev > > Log: > > BUILDR-292 Workaround for JRUBY-3381. > > > > Recent JRuby versions 1.3+ have a bug in FileUtils.mv that doesn't allow > to > > rename a file when target directory is in different device, this > workaround > > is enabled when running on JRuby. > > I was getting the "Permission denied" error when running on linux, > > should this fix be enabled only or certain OS ? > > > > Modified: > > buildr/trunk/CHANGELOG > > buildr/trunk/lib/buildr/core/util.rb > > > > Modified: buildr/trunk/CHANGELOG > > URL: > > > http://svn.apache.org/viewvc/buildr/trunk/CHANGELOG?rev=799160&r1=799159&r2=799160&view=diff > > > > > ============================================================================== > > --- buildr/trunk/CHANGELOG (original) > > +++ buildr/trunk/CHANGELOG Thu Jul 30 03:38:58 2009 > > @@ -9,6 +9,7 @@ > > * Added: BUILDR-295 Eclipse task: make 'M2_REPO' repository variable > > configurable > > * Change: Monkey-Patched FileUtils::sh on JRuby to use POSIX `system` > > * Change: Updated to Rake 0.8.7, RSpec 1.2.6 and JRuby-openssl 0.5.1. > > +* Fixed: BUILDR-292 Workaround for JRUBY-3381 on FileUtils.mv > > * Fixed: BUILDR-23 Support for setting file mode when packaging (Ittay > > Dror). > > * Fixed: BUILDR-290 Dependencies cannot be downloaded over SSL. > > * Fixed: BUILDR-291 Local tasks do not support arguments (Ittay Dror). > > > > Modified: buildr/trunk/lib/buildr/core/util.rb > > URL: > > > http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/core/util.rb?rev=799160&r1=799159&r2=799160&view=diff > > > > > ============================================================================== > > --- buildr/trunk/lib/buildr/core/util.rb (original) > > +++ buildr/trunk/lib/buildr/core/util.rb Thu Jul 30 03:38:58 2009 > > @@ -311,8 +311,29 @@ > > > > if Buildr::Util.java_platform? > > require 'ffi' > > + > > + # Fix for BUILDR-292. > > + # JRuby fails to rename a file on different devices > > + # this monkey-patch wont be needed when JRUBY-3381 gets resolved. > > + module FileUtils #:nodoc: > > + alias_method :__mv_native, :mv > > + > > + def mv(from, to, options = nil) > > + dir_to = File.directory?(to) ? to : File.dirname(to) > > + Array(from).each do |from| > > + dir_from = File.dirname(from) > > + if File.stat(dir_from).dev != File.stat(dir_to).dev > > + cp from, to, options > > + rm to, options > > + else > > + __mv_native from, to, options > > + end > > + end > > + end > > + private :mv > > + end > > > > - module RakeFileUtils > > + module RakeFileUtils #:nodoc: > > def rake_merge_option(args, defaults) > > defaults[:verbose] = false if defaults[:verbose] == :default > > > > > > > > >
