tla move-id — 明示的なインベントリidの移動
FILE に付与されている明示的なインベントリid を別のファ イルのインベントリidに移動します。このコマンドは、いままであ るファイルを指していたインベントリidで、別のファイルを指すよ うにしたい場合に利用します。このコマンドはインベントリidの情 報を変更するだけであって、指されているファイルの名称を変更す るのではないことに注意してください。指されているファイルの名 称を変更すると共に、そのインベントリも移動させるtla mv との 違いに注意してください。tla move-id は tla mv よりも原始的で す。このコマンドを利用するのは非常に稀です。
あまり実践的な例ではありませんが、foo.c と bar.c とい う二つの明示的なタグをもつファイルがプロジェクトツリーにある としましょう。いま patch-3 の状態にあり、ここからローカルな 修正は加えていません。
$ ls bar.c foo.c {arch} $ tla inventory --ids S bar.c x_foo_bar_<octopus@bluegate.org>_Mon_Apr__5_15:48:47_2004_12194.0 S foo.c x_foo_bar_<octopus@bluegate.org>_Mon_Apr__5_15:48:43_2004_12193.0 $ tla changes * looking for octopus@bluegate.org--2004/test--proj--1.0--patch-3 to compare with * comparing to octopus@bluegate.org--2004/test--proj--1.0--patch-3 $
この状態で foo.c の明示的なidを bar.c に移してみます
$ tla move-id foo.c bar.c $ tla changes * looking for octopus@bluegate.org--2004/test--proj--1.0--patch-3 to compare with * comparing to octopus@bluegate.org--2004/test--proj--1.0--patch-3 D .arch-ids/bar.c.id D bar.c => .arch-ids/foo.c.id .arch-ids/bar.c.id => foo.c bar.c $
コマンド実行後 tla changes の出力を見ると、foo.c とい うファイルが bar.c に名称変更され、さらに bar.c という元のファ イルが削除されてしまったという内容になっています。これは foo.c のアイデンティティーを表すインベントリidで bar.c を指 すようにしたためです。