Guard дважды выполняет сценарии оболочки

Я устанавливаю пример проекта со следующей структурой:

Gemfile
Guardfile

Содержимое этих файлов:

# Gemfile
source :rubygems
gem "guard"
gem "guard-shell"

и

# Guardfile
guard 'shell' do
  watch(/^test\.txt$/) {|m| `echo #{m.inspect} #{File.mtime(m[0])}` }
end

Затем я продолжаю запускать guard. Всякий раз, когда я что-то повторяю в этом файле, Guard дважды регистрирует изменение. В одной оболочке:

$ echo blah >> test.txt

В оболочке работает Guard:

> [test.txt] 2012-06-26 00:40:22 +0200
> [test.txt] 2012-06-26 00:40:22 +0200

Такое же поведение относится к vim/nano и т. д. Интересно, что когда я просто запускаю echo blah > test.txtGuard срабатывает только один раз.

Есть идеи, как я могу предотвратить это или это ожидаемое поведение?

РЕДАКТИРОВАТЬ: Открыта проблема на github: https://github.com/guard/guard/issues/297#issuecomment-6586266

5
задан jabalsad 26 June 2012 в 20:15
поделиться