名前

tla undo — プロジェクトツリー中内での変更取消

用法

tla undo [options] [revision]

説明

プロジェクトツリーの変更点を退避したあと修正前の状態に 戻します。リビジョン REVISION から DIR にあるプロジェクトツ リーの内容の差分をチェンジセットの形で求め、PATCH-DIR ディレ クトリに保存します。PATCH-DIRディレクトリはあらかじめ存在し ていてはいけません。次にこのパッチを DIR にあるプロジェクト ツリーに対して逆向きに適用します。この結果 DIR に対して加え られたローカルな変更点は取り消され、その修正点を示すチェンジ セットは扱いやすい形で保存されます。

REVISION が指定されない場合、ツリーが利用しているデフォ ルトバージョンの直近の祖先まで戻ります。REVISION が VERSION の形で指定された場合はその VERSION 中の直近の祖先を利用しま す。

DIR が指定されなければ "." を仮定します。

PATCH-DIRが指定されなければ ,,undo-* という形の一時ファ イル名が利用されます。

--no-output が指定されるとチェンジセットは保存されませ ん。"tla redo", "tla changes" も参照してください。

別名

なし

変更: [-W--]

スイッチ

-A, --archive           アーカイブを明示的に指定します
-d, --dir DIR           DIR に移動してから処理を開始します
-o, --output PATCH-DIR  チェンジセットを PATCH-DIR に保存します
-n, --no-output         チェンジセットを保存しません
-N, --forward           `patch'コマンドに ---forward オプションを渡します
-q, --quiet             計算途中の進行状況を表示しません
-changeset

以下ではプロジェクトツリーは patch-1 まで開発が進んだ hello--proj--1.0 にローカルな修正を加えた状態です。これを patch-1 の状態まで戻すために tla undo を実行します。実行前に、 プロジェクトツリーの履歴と、最新リビジョン patch-1 との間の 差分を確認しています。また実行後に ls コマンドで ,,undo-1 ディ レクトリが作成されていることを確認しています。

$ tla abrowse --desc
octopus@bluegate.org--2004
  hello
    hello--proj
      hello--proj--1.0

        base-0    (initial import)
          Mon Apr  5 11:36:16 JST 2004      foo bar <octopus@bluegate.org>
          initial import

        patch-1    (simple changeset)
          Mon Apr  5 11:37:45 JST 2004      foo bar <octopus@bluegate.org>
          add a printf() line.

$ tla changes --diffs
* looking for octopus@bluegate.org--2004/hello--proj--1.0--patch-1 to
compare with
* comparing to octopus@bluegate.org--2004/hello--proj--1.0--patch-1
M  hello.c

* modified files

--- orig/hello.c
+++ mod/hello.c
@@ -1,4 +1,4 @@
-main()
+void main(int argc, char* argv[])
 {
        printf("hello world\n");
 }

$ tla undo
* linting the source tree
* reverting changes
M   hello.c
$ ls
,,undo-1  hello.c  {arch}
$

CVS対応コマンド

なし