両方のディレクトリの更新とマージ

両方のディレクトリの更新とマージ

まずこの点を参考にしてくださいいいえ単純な「2つのディレクトリのマージ」は、ソースが変更されたときにそのディレクトリのマージを更新したままにする方法に関する質問です。

a2つのディレクトリがあり、次の規則に従ってそれらをマージしbたいとします。c

  • エントリは、存在するか最後に変更されたタイムスタンプに関係なく、a常に場所を見つける必要があります。c
  • 空白を埋めますb

必要に応じて、単純なcpfrom btoと上書きで操作を実行できます(必要以上にコピーしますが、一度だけ使用)。ca

今私が望むのは更新を維持する方法なので(これはにあるはずですMakefile)、新しいファイルがあればコピーしてくださいamakeに新しいファイルがある場合はコピーしてくださいbmakeただにまだ存在しない場合は、ファイルが更新された場合cに更新し、からファイルが更新されたときに更新します。amakecbc ただそれが次から来bたらいいえa.

正確に説明してほしいです。

ベストアンサー1

希望の状態を達成する簡単なソリューションです。次の2つのコマンドを使用できます。

rsync -auv b/ c/
rsync -av a/ c/

利点:すべてのサブツリーで再帰的に機能します。

欠点:最初のコマンドの開始から2番目のコマンドの実行が終了するまでの期間、「a /」に似た「b /」の最新のファイルは、交換されるまで一時的に「c /」に配置できます。 。 2番目のコマンドで、「a /」から正しいファイルを取得します。

したがって、ソリューションは、次の条件を満たす場合にのみ適しています。

  • 最終結果が必要で、同期中の「c /」状態は気にしません。
  • いくつかのファイルを何度もコピーする必要があることを気にしない場合。

おすすめ記事