Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/codekitchen/fsevents_to_vm

forward OS X file system events to a VM, designed for use with Dinghy
https://github.com/codekitchen/fsevents_to_vm

Last synced: about 2 months ago
JSON representation

forward OS X file system events to a VM, designed for use with Dinghy

Awesome Lists containing this project

README

        

# FSEvents To VM

Forward OS X file system events to a VM, designed for use with Dinghy.

# Installation

Normally you won't install this manually, Dinghy will do it for you.

If you want to manually install:

$ gem install fsevents_to_vm

## Usage

Dinghy will start fsevents_to_vm automatically. If you would like to run in manually:

The Dinghy VM must be running. Then in a terminal run:

$ fsevents_to_vm start --ssh-identity-file ~/.docker/machine/machines/dinghy/id_rsa --ssh-ip $(dinghy ip)

You can specify a specific directory to watch. This directory must be already mounted in the VM over NFS. By default, this means anything in your home dir:

$ fsevents_to_vm start ~/projects --ssh-identity-file ~/.docker/machine/machines/dinghy/id_rsa --ssh-ip $(dinghy ip)

## Known Limitations

* Delete events are not forwarded.
* Multiple events for the same file within the same 1/100th of a second may cause events to be missed.
* Some directories that you are unlikely to care about are ignored, for example `~/Library`.

## Testing

First, make sure that `fsevents` isn't already running due to `dinghy start`, kill it if necessary.

Then run manually:

bundle exec ruby exe/fsevents_to_vm start --debug --ssh-identity-file ~/.docker/machine/machines/dinghy/id_rsa --ssh-ip $(dinghy ip) ~

You can use inotifywait in the VM to watch for events:

docker run --rm -it -v $HOME:/fstest ubuntu:trusty
apt-get update && apt-get install -y inotify-tools
inotifywait /fstest/some/dir

Then modify a file in `~/some/dir` and watch for inotifywait to catch the change.