Git リポジトリを使用してドットファイルを管理したいと思いますstow
。これが私の現在のリポジトリです保存したいファイル/ディレクトリと、Makefile
使用しているコマンドが含まれていますmake stow
。
残念ながら、stow が存在しないディレクトリに遭遇すると問題が発生しました。たとえば、~/.config/yabai/
ディレクトリを削除して (新規インストールでまだ存在しないことをシミュレートするため)、実行すると、make stow
ディレクトリ全体のシンボリックリンクが作成されます。
$ ls -l
[...]
lrwxr-xr-x 1 adam staff 26 Mar 12 19:28 yabai -> ../.dotfiles/.config/yabai
[...]
これにより、私またはプログラムがこのディレクトリに追加のファイルを作成すると、それらのファイルも私のディレクトリに表示されるため、問題が発生します~/.dotfiles/
。
ディレクトリが既に存在する場合、ディレクトリ自体ではなくその中のファイルがリンクされるため、この問題は発生しません。
$ ls -l
drwxr-xr-x 3 adam staff 96 Mar 12 19:43 yabai
$ ls -l
lrwxr-xr-x 1 adam staff 37 Mar 12 19:43 yabairc -> ../../.dotfiles/.config/yabai/yabairc
ドットファイルの管理に使用している人の数から判断するとstow
、この動作を回避する方法があると思います。おそらく、最初にディレクトリ構造を再作成し、次にリンクを作成する方法でしょう。