2016-02-17 2 views
0

Я использую версию Watchman 4.4.0 и обнаружил, что сторож может контролировать только 2-х уровневый каталог из корней.Watchman может контролировать только 2 уровня от корней

Так что я не уверен, что пойдет не так с этим?

Структура каталогов

src/<- set watch roots └── Oncmd └── Command <- **File under this can't monitor ├── GencmdCommand.php ├── InitCommand.php └── cmdCommand.php

сторож - смотреть-лист

{ 
"version": "4.4.0", 
"roots": [ 
    "/home/udomsak/mycmd/src" 
] 

}

сторож - триггер-лист

{ 
"version": "4.4.0", 
"triggers": [ 
    { 
     "name": "build_phar", 
     "append_files": true, 
     "command": [ 
      "./build.sh" 
     ], 
     "stdin": [ 
      "name", 
      "exists", 
      "new", 
      "size", 
      "mode" 
     ], 
     "expression": [ 
      "anyof", 
      [ 
       "match", 
       "*", 
       "wholename" 
      ] 
     ] 
    } 
] 

}

ответ

1

Если вы запустите watchman find /home/udomsak/mycmd/src и не видят эти файлы на выходе, то это сторож ошибка.

Однако, я думаю, я могу видеть, что заставляет это работать не так, как вы ожидаете.

Выражение match, которое вы используете, не будет соответствовать символам /, которые присутствуют в wholename так, как вы ожидали.

Вы не указали информацию о том, как вы установили этот триггер, поэтому этот совет о том, как получить поведение, по которому он звучит, как вы ищите, имеет несколько различных вариантов.

Вариант 1, поскольку он выглядит так, будто вы хотите вызвать для любого изменения файла, просто полностью удалить выражение.

Вариант 2, используйте рекурсивный глобус через расширенный синтаксис wildmatch: ["match", "**/*", "wholename"].

Вариант 3, используйте watchman-make. Вместо использования команды trigger часто используется значительно дешевле watchman-make для этого вида использования:

$ watchman-make --make build_phar -t build -p '**/*' 
# Relative to /home/udomsak/mycmd/src 
# Changes to files matching **/* will execute `build_phar build` 
# waiting for changes 

 Смежные вопросы

  • Нет связанных вопросов^_^