名前

tla changeset — チェンジセットの計算

用法

tla changeset [options] ORIG MOD DEST [files]

説明

二つのツリー間のチェンジセットを求めます。引数 ORIG と MOD はいずれもディレクトリで両者の間のチェンジセットがディレ クトリDESTに求まります。DESTはあらかじめ存在してはなりません。 これとちょうど逆の処理にあたる tla apply-changeset も見てく ださい。

注意

チェンジセットは GNU patch を拡張した概念なので、文脈 からその意味がはっきりする場合には単にパッチと呼ぶこともあり ます。GNU patch は単一のファイルですが、チェンジセットはディ レクトリとして定義されていることに注意してください。これはプ ログラムで扱いやすかったためたまたまそのように設計されただけ で深い意味はありません。これと等価の単一ファイルのチェンジセッ ト—これをシリアル化チェンジセットといいます—を定 義することは、GNU arch の興味深い拡張になるでしょう。

別名

mkpatch

変更: [----]

元のツリーには変更はありませんが、新しい DEST というディ レクトリが作られ、そこには書き込みます。

スイッチ

--file-list FILES      指定したファイルについての差分のみを記録します

あまり実践的な例ではありませんが説明のために二つのディ レクトリ 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 のディレクトリはプロジェクトツリーではなく 一般的なディレクトリであることに注意してください。このコマン ドは任意のツリーの間のチェンジセットを計算することができます。

CVS対応コマンド

なし