MyTetra Share
Делитесь знаниями!
Syncthing ignore layouts шаблоны игнорирования
Время создания: 06.07.2020 07:20
Текстовые метки: Syncthing, ignore, игнорирование, игнорирования шаблон
Раздел: Компьютер - Syncthing
Запись: Kozlov-AE/Tetra/master/base/1594009246pp073dx2hu/text.html на raw.githubusercontent.com

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 # Игнорируется из-за игнорирования родителя

 
MyTetra Share v.0.59
Яндекс индекс цитирования