tla changeset — チェンジセットの計算
二つのツリー間のチェンジセットを求めます。引数 ORIG と MOD はいずれもディレクトリで両者の間のチェンジセットがディレ クトリDESTに求まります。DESTはあらかじめ存在してはなりません。 これとちょうど逆の処理にあたる tla apply-changeset も見てく ださい。
あまり実践的な例ではありませんが説明のために二つのディ レクトリ a, b を用意しました。いずれのディレクトリにも file1.txt という名前の唯一のファイルがあります。b のほうにあ るものは a にあるものに一行追加しただけのものです。
$ ls a b $ ls a b $ find . ./a ./a/file1.txt ./b ./b/file1.txt $ cat a/file1.txt aaaaa bbbbb $ cat b/file1.txt aaaaa bbbbb ccccc $
このふたつのディレクトリ a, b の間の差分をチェンジセッ トの形でディレクトリ c に求めてみます。
$ tla changeset a b c M file1.txt $ ls a b c $
ディレクトリ c が作成されました。このディレクトリは GNU arch で定義されたチェンジセットの形式になっています。
$ ls c mod-dirs-index new-files-archive original-only-dir-metadata mod-files-index orig-dirs-index patches modified-only-dir-metadata orig-files-index removed-files-archive
今回場合、一番重要な情報は patches ディレクトリの中に あります。
$ ls c/patches file1.txt.patch $ cat c/patches/file1.txt.patch --- orig/file1.txt +++ mod/file1.txt @@ -1,2 +1,3 @@ aaaaa bbbbb +ccccc $
確かにファイルの差分が格納されています。この例で、引数 として与えた a, b のディレクトリはプロジェクトツリーではなく 一般的なディレクトリであることに注意してください。このコマン ドは任意のツリーの間のチェンジセットを計算することができます。