tla undo — プロジェクトツリー中内での変更取消
プロジェクトツリーの変更点を退避したあと修正前の状態に 戻します。リビジョン REVISION から DIR にあるプロジェクトツ リーの内容の差分をチェンジセットの形で求め、PATCH-DIR ディレ クトリに保存します。PATCH-DIRディレクトリはあらかじめ存在し ていてはいけません。次にこのパッチを DIR にあるプロジェクト ツリーに対して逆向きに適用します。この結果 DIR に対して加え られたローカルな変更点は取り消され、その修正点を示すチェンジ セットは扱いやすい形で保存されます。
REVISION が指定されない場合、ツリーが利用しているデフォ ルトバージョンの直近の祖先まで戻ります。REVISION が VERSION の形で指定された場合はその VERSION 中の直近の祖先を利用しま す。
DIR が指定されなければ "." を仮定します。
PATCH-DIRが指定されなければ ,,undo-* という形の一時ファ イル名が利用されます。
--no-output が指定されるとチェンジセットは保存されませ ん。"tla redo", "tla changes" も参照してください。
-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} $