smerrill/vagrant-gatling-rsync

rb-inotify does not add a trailing slash

smerrill opened this issue · 1 comments

The rsync plugin assumes that all directories' paths will end with a slash. Therefore, given the following Vagrantfile, it will come up with these regular expressions:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "centos65"
  config.vm.network :private_network, ip: "192.168.33.10"

  config.vm.synced_folder "../drupal", "/opt/drupal", type: "rsync",
    rsync__exclude: [".git/", ".idea/"]

  config.gatling.latency = 3.0
end
 INFO gatling-rsync-auto: Listening to paths: ["/home/smerrill/Projects/centos-vagrant/drupal"]
 INFO gatling-rsync-auto: Ignoring 2 paths:
 INFO gatling-rsync-auto:   -- (?-mix:^\/home\/smerrill\/Projects\/centos\-vagrant\/drupal\/.*.git\/)
 INFO gatling-rsync-auto:   -- (?-mix:^\/home\/smerrill\/Projects\/centos\-vagrant\/drupal\/.*.idea\/)
 INFO gatling-rsync-auto: Listening via: rb-inotify on Linux.

However, the rb-inotify backend does not report directory names with a trailing slash, like so:

 INFO gatling-rsync-auto:   - Modified: #<Set: {"/home/smerrill/Projects/centos-vagrant/drupal/.git"}>

We need to figure out if we can detect if the items that are reported as changed by rb-inotify are files or directories, and if so, append a trailing slash.

This is only an issue for the initial creation of the .git (or equivalent) directory, so this is less critical than I had thought. I'll still keep it open for now.