第3章 バージョンの作成

目次

前提となる環境
バージョンとは何か
初期データのインポート
概論
利用するサンプルプログラム
初期インポート作業(1) - tla init-tree
初期インポート作業(2) - tla id-tagging-method
初期インポート作業(3) - インポートファイルの確認
初期インポート作業(4) - インポート
リビジョンとは何か
プロジェクトツリーとは何か
日々の利用
概論
tla changes(1)
undo と redo
修正のコミット
プリスティン・コピー
よくあるトラブル
プロジェクトツリー中に恐ろしい名前のファイルができた
コミットに失敗する
この章のまとめ

前の章では、GNU arch インストール後に行なう GNU arch システ ム全体に関する設定をした。ここまでくればいつでも新しいバージョンを アーカイブに追加し、具体的なバージョン管理を始めることができる。こ の章ではまず GNU arch の世界でのアーカイブ、バージョン、リビジョン、 などの言葉を正確に定義する。その上でテスト的なバージョンを作り、実 際のファイルをバージョン管理下に置くための最初のデータ取り込み処理 をする。これを初期インポートを行う。バージョンの作成は簡単だが、イ ンポートではつまづくかも知れない。インポートしようとするファイルの 性質によっては GNU arch がソースファイルとして認識しないことがある ためだ。ソースファイルを認識させるためには GNU arch のソースファイ ルの判別ロジックについての理解が必要になる。ここではあまり細部に立 ち入らないように注意して、ファイル判別ロジックの概要を説明し、初期 インポートすることにする。ファイル判別ロジックの詳細は、インベント リの概念とも密接に関連し、非常に複雑なので、章をわけて説明しようと 思う。

GNU arch を利用する上でおそらく一番大きな障害の一つが、この ファイル判別ロジックだ。あとは、名前空間の複雑さ、奇妙な文字の多様、 と続く。GNU arch の根底にあるデザインは非常に単純なので、このよう な複雑さがあるのは残念なことだ。

この章では、他のアーカイブとのやりとりについての説明は避け、 つまり君は自分だけで利用するデータを自分だけで管理している、そんな 状況に話を絞った。他の人がそのデータに対してかかわってくることはな い。君は必要に応じて自分のデータを修正し、区切りがついたところで新 しいリビジョンを作る。リビジョンは時間の経過とともにどんどん増えて いくが、枝分かれしたりすることはない。時間の方向に一列に並んでいる 一本のラインだ。GNU arch が力を発揮するのは他のアーカイブのほかの バージョンとの間で分岐したりマージしたりする場面なのだが、そのよう な場合でもここでの操作が基本になる。

前提となる環境

この章では前の章の設定が済んでいると仮定する。つまり:

  • 君は octopus というアカウントを持ち、今そのホー ムディレクトリにいる。

  • ホーム ディレクトリの名前は /home/octopus である。

  • tla が無事インストールされて利用できる状態にある。

  • tla my-id コマンドで UserIDが 正しく設定されている。

  • /home/octopus/ARCHIVES という名前のアーカイブフォ ルダが作成されている。

  • octopus@bluegate.org--2004 という名前のアーカイ ブが作成されている。

  • そのアー カイブ位置は/home/octopus/ARCHIVES/octopus@bluegate.org--2004 で ある。

  • octopus@bluegate.org--2004 は君のデフォルトアー カイブとして設定されている。

以上の前提が成り立たない限り以下の説明は少なくともそのままで は動作しないので注意してほしい。厳密にこの環境を作りあげることがで きないのは明らかだろう。自分用のメールアドレスを設定したり、ホーム ディレクトリの名前が違っている場合には適宜自分の環境にふさわしい形 に読みかえてほしい。