第18章 replay の導入 — update の代わりの方法

目次

update のリフレッシュ機能
リプレイコマンド
どのように動作するか — replay ––in-place

update は、開発パスについていく唯一の方法ではありません。 他の選択肢としてreplayがあります。

        % cd ~/wd/project-tree
        % larch replay --in-place .
        [....]

それは実際には何をするのでしょうか?

update のリフレッシュ機能

hello-worldの古いバージョンをチェックアウトしたとしましょう:

        % cd ~/wd
        % larch get hello-world--mainline--0.1--patch-1 hw-patch-1
        [...]

結果としてのツリーは最新ではないのは見やすいです:

        % cd hw-patch-1
        % larch whats-missing
        patch-2
        patch-3

ここで何かhw-patch-1にローカル修正を加えてから updateを実行するとします。何がおこるでしょうか?

ローカルな変更は、patch-1 に対して計算されます 言い替えると チェンジセットは、patch-1リビジョンの修正前コピーからプロジェクトツリーの 現在の状態(hw-patch-1)までの変更を表現するようなチェンジセットが作成され ます。

patch-3 のコピーはチェックアウトされます。 update は、patch-3リビジョンの編集前コピー で始まります。

チェンジセットは、patch-3 のツリーに対して適用されます。 最初のステップで計算された変更は、新しいツリーに適用されます。

しかし、別の方法もあります: