This is a Vagrant 1.1+ plugin that syncs files over SSH from a local folder to your Vagrant VM (local or on AWS). Under the covers it uses Unison
NOTE: This plugin requires Vagrant 1.1+,
unison
over ssh
-> will work with any vagrant provider, eg Virtualbox or AWS.brew install unison
sudo apt-get install unison
Unison-2.40.102 Text.exe
to unison.exe
and copy to somewhere in your path.$ vagrant plugin install vagrant-unison
After installing, edit your Vagrantfile and add a configuration directive similar to the below:
Vagrant.configure("2") do |config|
config.vm.box = "dummy"
config.sync.host_folder = "src/" #relative to the folder your Vagrantfile is in
config.sync.guest_folder = "src/" #relative to the vagrant home folder -> /home/vagrant
end
1. Start up your starting your vagrant box as normal (eg: `vagrant up`)
## Start syncing Folders
Run `vagrant sync` to start watching the local_folder for changes, and syncing these to your vagrang VM.
Under the covers this uses your system installation of [Unison](http://www.cis.upenn.edu/~bcpierce/unison/),
which must be installed in your path.
## Development
To work on the `vagrant-unison` plugin, clone this repository out, and use
[Bundler](http://gembundler.com) to get the dependencies:
$ bundle
Once you have the dependencies, verify the unit tests pass with `rake`:
$ bundle exec rake
If those pass, you're ready to start developing the plugin. You can test
the plugin without installing it into your Vagrant environment by just
creating a `Vagrantfile` in the top level of this directory (it is gitignored)
that uses it, and uses bundler to execute Vagrant:
$ bundle exec vagrant up $ bundle exec vagrant sync