diff --git a/CHANGELOG.md b/CHANGELOG.md index b8600e593..3b00ac744 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ BUG FIXES: because it exposes a bug with Puppet path lookup on VMware. - Fix bug in VirtualBox provider where port forwarding just didn't work if you attempted to forward to a port under 1024. [GH-1421] + - Fix cross-device box adds for Windows. [GH-1424] ## 1.1.0 (March 14, 2013) diff --git a/lib/vagrant/box_collection.rb b/lib/vagrant/box_collection.rb index a40db9606..3af715a30 100644 --- a/lib/vagrant/box_collection.rb +++ b/lib/vagrant/box_collection.rb @@ -148,8 +148,14 @@ module Vagrant # Move to final destination final_dir.mkpath + + # Go through each child and copy them one-by-one. This avoids + # an issue where on Windows cross-device directory copies are + # failing for some reason. [GH-1424] temp_dir.children(true).each do |f| - FileUtils.mv(f, final_dir.join(f.basename)) + destination = final_dir.join(f.basename) + @logger.debug("Moving: #{f} => #{destination}") + FileUtils.mv(f, destination) end end