Как игнорировать папки и их подкаталоги в синхронизации Unison

1457
Imran

Я использую Unison для синхронизации проектов веб-сайтов на своих компьютерах, и на одном из моих компьютеров я бы хотел избежать одновременной работы с обоими папками, содержащимися в папках, которые я смотрю:

/vendor /node_modules /storage/debugbar /staroge/framework 

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

# Roots of the synchronization root = /Volumes/Data HD root = ssh://Server//volume1/My Files  # Paths path = Sites  # Some regexps specifying names and paths to ignore ignore = Name */@eaDir ignore = Name */_notes ignore = Name .DS_Store ignore = Name SyncToy_*.dat ignore = Path */Archives ignore = Path */tools ignore = Name *.sublime*  # Ignore laravel composer and npm folders ignore = Path  ignore = Path  ignore = Path  ignore = Path */vendor ignore = Path */node_modules ignore = Path */storage/debugbar ignore = Path */storage/framework  log = true times = true auto = true 

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

Может кто-нибудь сказать мне, что я делаю не так?

1
Единственное, о чем я мог подумать сейчас: какую топологию вы используете для синхронизации на нескольких машинах? Я спрашиваю, потому что учитывается только файл `.prf` на компьютере, инициирующем соединение. Может ли быть так, что вы запускаете синхронизацию с компьютера, на котором нет правильного файла `.prf`? Кстати, вы можете захотеть синхронизировать и эти файлы `.prf`! Edward 6 лет назад 0
Но почему вы перешли к SU и SO одновременно? Edward 6 лет назад 0
Я разместил на обоих, чтобы быстро получить ответ, удаляю версию SO. Я использую топологию звезды для синхронизации. Я не думаю, что проблема заключается в том, чтобы иметь один и тот же файл .prf, поскольку центральный компьютер обычно получает все данные из моего каталога `Sites`, но в зависимости от того, какой компьютер я использую, я синхронизирую только определенные подкаталоги. Imran 6 лет назад 0
может ли быть так, что машина, на которой вы выполняете `unison`, не имеет файла` .prf` со строками `ignore`? Edward 6 лет назад 0

1 ответ на вопрос

0
Mike Pierce

Смотрите этот бит в спецификации пути в руководстве по Unison. Вместо Pathвас следует использовать Name.

ignore = Name vendor ignore = Name node_modules ignore = Name storage/debugbar ignore = Name storage/framework