質問: ファイル変更時の自動バージョン管理(変更/作成/削除) ディレクトリ内の変更を(再帰的に)自動的かつ透過的にバージョン管理するメカニズムの実装(linux上)を探しています。これは、標準バージョン管理(svn、git、...)への追加(要求されたすべての機能が利用可能な場合は置換)を目的としています。これを行うms windows上の製品は autover です(要件をよりよく理解するため)。私はそのようなものが欲しいのですが、非グラフィカル環境のlinuxを対象としています。linuxでこの機能を使用しようとする試みがいくつかあることがわかりました。最も近いのは、 subversionでの自動バージョン管理 ですが、既存の環境(たとえば、構成ファイルがあるサーバー)に実装することは明らかではありません。地元)。多分inotifyで動作する何か?よろしくお願いします! woj
回答: あなたはinotifyで正しい方向に進んでいると思います。 この記事 は、あなたと同じような場合の基本的な使用法を詳しく説明しています。直接使用するか、 fschange のようなカーネルレベルのユーティリティをコンパイルすることをお勧めします。これは面倒なことですが、変更の検出をgit commitなどにバインドできます。これらのソリューションはどちらも、やや不完全なサードパーティのソリューションに依存するという問題があります。手を汚してもかまわないのであれば、 nodejs は、まさにこの目的のために、優れたクロスプラットフォーム機能( fs.watch )を提供します。 nodejsの変更をファイルで監視する基本的なチュートリアルは、 ここ にあります。数十行以内で、ファイルのディレクトリを監視し、( child_process を介して)シェルアウトしてgit commitなどを実行する(または手動でインクリメントする)ものを作成できます。独自のアプローチが好きな場合は、バージョンファイルインデックス)。fs.watchはlinuxではinotifyによってサポートされていますが、使用する方がはるかに直感的です。 this one または this one のように、ファイル監視機能をさまざまなレベルの利便性でラップするnodejsプロジェクトが他にもあります。