Syncthing ignore layouts шаблоны игнорирования
Описание.
Если нужно чтобы некоторые файлы не синхронизировались с другими устройствами, следует создать файл с именем
.stignore, содержащий шаблоны файлов, которые не будут синхронизироваться. Он должен быть помещено в корень папки.
Сам файл
.stignore никогда не будет синхронизироваться с другими устройствами, хотя можно создать файлы
#include которые будут синхронизируются между устройствами, об этом ниже.
Все шаблоны должны распологаться в корне папки.
Обратите внимание, что игнорируемые файлы могут заблокировать удаление пустой папки. Смотрите ниже префикс
(?d) , чтобы разрешить их удаление.
Шаблоны игнорирования
.stignore содержит список файлов или шаблоны. Если для одного файла имеется несколько шаблонов, срабатывает первый .
Одинаковые имена файлов считаются одним паттерном. Например паттерн
foo соответствует файлу
foo,
новая папка/foo, папке с именем
foo. Пробелы трактуются как повторяющиеся символы.
Символ
* соответствует нулю или более символов в имени файла, но не применим к разделителю каталога. Пример: шаблон
te*st соответствует файлам
test, новая_папка/telerest, но не соответствует
tele/rest.
Двойная звездочка
** отличается тем что может означать знак разделителя каталога
/ , остальное идентично одинарной. Пример: шаблон
te**st соответствует файлу
test, новая_папка/telerest и
tele/sub/dir/rest.
Каждый вопросительный знак соответствует одному символу, который не является разделителем каталогов. Пример:
te??st соответствует
tebest но не соответствует
teb/st или
test.
Символы, заключенные в квадратные скобки
[], интерпретируются как диапазон символов
[a-z]. Для их использование требуется базовое понимание регулярных выражений.
Шаблон начинающийся в косой черты
/ означает текущий каталог. Пример:
/foo соответствует файлу
foo но не соответствует
новая_папка/foo.
Шаблон начинающийся с #include какойто_файл объявляет использование списка шаблонов из файла какойто_файл . Включать #include файл можно не более одного раза. Включаемый файл может находится в подпапках. Пример: #include more-patterns.txt.
Шаблон, начинающийся с символа
! отменяет шаблон игнорирования: соответствующие файлы включаются в синхронизацию (то есть не игнорируются). Это можно использовать для переопределения более общих шаблонов. Обратите внимание, что файлы в игнорируемых каталогах не могут быть повторно включены таким образом. Это связано с тем, что Syncthing прекращает сканирование, когда он достигает игнорируемого каталога, поэтому он не знает его содержимое.
Шаблон начинающийся с префикса
(?i) отключает чувствительность к регистру символов. Пример:
(?i)test соответствует
test, TEST и
tEsT. Префикс
(?!) можно комбинировать с другими префиксами паттернов, к примеру
(?i)!picture*.png указывает что
Picture1. PNG должен быть синхронизирован. На Операционной системе Mac OS и Windows, шаблоны не чувствительны к регистру.
Шаблон, начинающийся с префикса
(?d) позволяет удалить файлы, если на них указывает какой нибудь шаблон. Префикс может использоваться на любой ОСи.
Строки, начинающиеся с
// являются комментарием и не обрабатываются.
Венда не поддерживает экранирование
\ [foo-bar \].
Пример: имеем следующую файловую структуру.
.DS_Store
foo
foofoo
bar/
baz
quux
quuz
bar2/
baz
frobble
My Pictures/
Img15.PNGФайл
.stignore следующего содержания:
(?d).DS_Store
!frobble
!quuz
foo
*2
qu*
(?i)my picturesВсе файлы и папки которые называются "foo", заканчиваются на "2" или начинаются с "qu" будут проигнорированы. Конечный результат становится следующим:
.DS_Store #проигнорированный, будет удален, если помешает удалению родительского каталога.
foo # Игнорируется, совпадения "foo"
foofoo # Synched, не соответствует "foo", но будет соответствовать "foo *" или "* foo"
bar/ # synced
baz # synced
quux #Игнорируется, совпадения "qu*"
quuz # Синхронизируется, соответствует «qu *», но исключается предыдущим "!quuz"
bar2/ # Игнорируется, совпадения "*2"
baz # Игнорируется из-за игнорирования родителя
frobble #Игнорируется из-за игнорирования родителя; «Frobble» не помогает
My Pictures/ #Игнорируется, соответствие нечувствительным к регистру "(? I) my pictures" pattern
Img15.PNG # Игнорируется из-за игнорирования родителя