リモートサーバと開発用Macのファイル同期をしているSyncThing が同期エラーを出していました。
今日はこのエラーの対処をします。
エラーの内容は以下の通りです。
directory has been deleted on a remote device but contains ignored files (see ignore documentation for (?d) prefix)
原因は、Mac側で自動的に作成される.DS_Store
ファイルをサーバ側に同期しないために.stignore
に.DS_Store
を追加していました。.DS_Store
はサーバ側に存在しないファイルになるので、サーバ側でのディレクトリを削除をMac側で同期しようとしたときに.DS_Store
を削除して良いかSyncThingが判断できず同期エラーとなっていました。
ディレクトリ削除の同期時に.DS_Store
を削除して良いことをSyncThingに指示するために、.stignore
ファイルの中で特殊なプレフィクス(?d)
をつけて
(?d).DS_Store
と書く必要があります。