バージョン管理下でドットファイルを管理しようとしています。マイドットファイルストアには、xfce-base
これら.config/xfce4/.../xy-setting.xml
のエントリを含むフォルダが含まれています。シンボリックリンクを正しい場所に配置すると(またはより良い方法で)、すべてが期待どおりに機能します。
ただし、xfce設定エディタ(ウィンドウマネージャ、キーボードショートカット)のいずれかを開くと、変更は私のシンボリックリンクを通常のファイルで上書きします。今バージョン管理はこんにちはです。ハードリンクがあったらこんなことは起こらなかったと思います。そうですか? Gnu stowはハードリンクが可能ですか(そうでないと思いますか?)または代替手段はありますか?
編集:私は偶然発見しましたこれ、ハードリンクを実行しますが、再帰的には機能しません(既存の.configディレクトリについて文句を言います...)。
編集2:ハードリンクが良いソリューションかどうかはまだわかりません。
答え1
あなたは正しいです。 GNU Stowは現在ハードリンクをサポートしていません。しかし、ハードリンクがおそらくシンボリックリンクよりも良い解決策ではないかもしれないという点で、あなたの考えは正しいと思います。外部アプリケーションがシンボリックリンクを通常のファイルに置き換えると、もちろんハードリンクも壊れる可能性があります(たとえば、inodeを交換してください)。
しかし、良いニュースがあります:-) 私も私のドットファイルを管理するためにGNU Stowを使用しています。、これが私が2.1.3に特別に追加した理由です。--adopt
オプションこの状況を正確に処理するのに役立ちます。外部プログラムがシンボリックリンクを壊した後、このオプションを使用して簡単にリロードできます。これにより、変更された可能性があるファイルのバージョンがStowパッケージディレクトリに適用され、シンボリックリンクが復元され、結果として変更されません。コンテンツファイル。バージョン管理を使用してポイントファイルを追跡するので、変更されたもの(たとえばを通じてgit diff
)を確認し、必要に応じて変更の一部または全部をチェックインできます。
注:これは、バージョン管理システムで追跡されないパッケージディレクトリの危険なオプションです。変更をキャンセルしなくても Stow パッケージの内容を変更できるからです。