web-dev-qa-db-ja.com

Unison同期でフォルダとそのサブディレクトリを無視するにはどうすればよいですか?

nison を使用して、マシン間でWebサイトプロジェクトを同期します。マシンの1つで、監視しているフォルダーに含まれているいくつかのフォルダーを(双方向で)同期しないようにします。

/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 {Sites/CRMJobs/node_modules}
ignore = Path {Sites/Loot/node_modules}
ignore = Path {Sites/Pompous/node_modules}
ignore = Path */vendor
ignore = Path */node_modules
ignore = Path */storage/debugbar
ignore = Path */storage/framework

log = true
times = true
auto = true

場合によっては、無視する完全なパッチについて明示的に言及したにもかかわらず、それらはまだ同期されていることがわかります。

誰かが私が間違っていることを教えてもらえますか?

2
Imran

Unisonマニュアルのこれ パス仕様のビット を参照してください。 Pathの代わりにNameを使用する必要があります。

ignore = Name vendor
ignore = Name node_modules
ignore = Name storage/debugbar
ignore = Name storage/framework
2
Mike Pierce