From 14c4dc5d537d8f7b9c29b2f2d26f3c044fb51026 Mon Sep 17 00:00:00 2001 From: Seth Chisamore Date: Fri, 27 Jan 2012 09:58:54 -0800 Subject: [PATCH] add vbox driver support for creating transient shared folders --- lib/vagrant/action/vm/share_folders.rb | 3 ++- lib/vagrant/config/vm.rb | 1 + lib/vagrant/driver/virtualbox_4_0.rb | 8 ++++++-- lib/vagrant/driver/virtualbox_4_1.rb | 8 ++++++-- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/vagrant/action/vm/share_folders.rb b/lib/vagrant/action/vm/share_folders.rb index 79192f00f..29dc4ccf8 100644 --- a/lib/vagrant/action/vm/share_folders.rb +++ b/lib/vagrant/action/vm/share_folders.rb @@ -63,7 +63,8 @@ module Vagrant shared_folders.each do |name, data| folders << { :name => name, - :hostpath => File.expand_path(data[:hostpath], @env[:root_path]) + :hostpath => File.expand_path(data[:hostpath], @env[:root_path]), + :transient => data[:transient] } end diff --git a/lib/vagrant/config/vm.rb b/lib/vagrant/config/vm.rb index 0a44c1663..1b230bf7a 100644 --- a/lib/vagrant/config/vm.rb +++ b/lib/vagrant/config/vm.rb @@ -79,6 +79,7 @@ Please change your configurations to match this new syntax. :owner => nil, :group => nil, :nfs => false, + :transient => false, :extra => nil }.merge(opts || {}) end diff --git a/lib/vagrant/driver/virtualbox_4_0.rb b/lib/vagrant/driver/virtualbox_4_0.rb index 9fbee2a79..d491b4d7b 100644 --- a/lib/vagrant/driver/virtualbox_4_0.rb +++ b/lib/vagrant/driver/virtualbox_4_0.rb @@ -392,8 +392,12 @@ module Vagrant def share_folders(folders) folders.each do |folder| - execute("sharedfolder", "add", @uuid, "--name", - folder[:name], "--hostpath", folder[:hostpath]) + args = ["--name", + folder[:name], + "--hostpath", + folder[:hostpath]] + args << "--transient" if folder.has_key?(:transient) && folder[:transient] + execute("sharedfolder", "add", @uuid, *args) end end diff --git a/lib/vagrant/driver/virtualbox_4_1.rb b/lib/vagrant/driver/virtualbox_4_1.rb index bb2bd324a..fa2178966 100644 --- a/lib/vagrant/driver/virtualbox_4_1.rb +++ b/lib/vagrant/driver/virtualbox_4_1.rb @@ -392,8 +392,12 @@ module Vagrant def share_folders(folders) folders.each do |folder| - execute("sharedfolder", "add", @uuid, "--name", - folder[:name], "--hostpath", folder[:hostpath]) + args = ["--name", + folder[:name], + "--hostpath", + folder[:hostpath]] + args << "--transient" if folder.has_key?(:transient) && folder[:transient] + execute("sharedfolder", "add", @uuid, *args) end end