Я устанавливаю пример проекта со следующей структурой:
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.txt
Guard срабатывает только один раз.
Есть идеи, как я могу предотвратить это или это ожидаемое поведение?
РЕДАКТИРОВАТЬ: Открыта проблема на github: https://github.com/guard/guard/issues/297#issuecomment-6586266