最低限のチェンジセット入門(Squeak Smalltalk 向け)

.stではなくチェンジセット(.cs)で出されると良いと思います

鉄は熱いうちに打て。○○○は柔らかいうちに突け - ずっと君のターン(コメント欄)


勉強会ですでに触れられている内容でしたら重複します(し、コメントに横から失礼とは思いました…)が、チェンジセットについてご存じないといけないので、念のため。


「チェンジセット」というのは、ユーザーがシステムに加えた変更を自動的に記録・蓄積してくれるデータベース、およびそこに蓄積された差分情報を指します。開発が一段落ついたとき、チェンジセットに蓄積された差分情報を、別のイメージにファイルイン(file in)可能なチェンジセットファイル(.cs)として書き出すことができます。以下、チェンジセットの使い方を簡単に。


■ 新しいプロジェクトを作成する

「プロジェクト」とは、簡単には“仮想デスクトップ”のことです。デスクトップクリック →「開く…」(open...)→「モーフィック・プロジェクト」(morphic project)で現れる小さなウインドウ(プロジェクトビュー。あとでデスクトップのサムネイルが表示される)の中をクリックすることで作って切り替えることが出来ます。元のデスクトップにもどってくるのには、デスクトップクリック →「前のプロジェクト」(previous project)です。


新しいプロジェクトを作ると同時に、新しいチェンジセットも作られます。したがって、新しいプロジェクト(仮想デスクトップ)で作業した内容は、それと関連づけされている同名のチェンジセットに記録・蓄積されます。プロジェクト(および、それに関連づけされているチェンジセット)の名前は、親プロジェクト画面でプロジェクトウインドウ内の下部に表示されている「名無し」(Unnamed)をクリックして選択して別の名前をタイプすることで変更できます。


■ 新しいプロジェクト(仮想デスクトップ)で作業する

新しく作ったクラス、メソッドはもちろん、既存のクラスやメソッドに加えた変更も記録されます。デバッグや動作確認の目的で既存のメソッドに手を加えたがバージョンブラウザで元のものに戻した…という場合は、「リバート」(revert)と同時に「チェンジセットから削除」(remove from changes)をしておくと、使用中のチェンジセットに冗長な情報を残さずにすみます。


■ チェンジセットの内容を確認してファイルアウト(file out)する

チェンジセットに記録された内容を確認するには、「チェンジ・ソーター」というチェンジセット閲覧・編集用のソフトを使うと便利です。デスクトップのクリック →「開く…」(open...)→「シンプル・チェンジ・ソーター」(simple change sorter)で起動できます。ちなみに「ダブル・チェンジ・ソーター」というのもありますが、これはシンプル・チェンジ・ソーターが横に二つ列んだような UI で、複数のチェンジセットの内容を相互にやりとりするのに使います。

チェンジセットに冗長な情報が記載されている場合は、該当するクラスあるいはメソッドををクリックして選択し、あらためて右クリック(第二ボタン、黄ボタン)メニューから「クラス(もしくはメソッド)をチェンジセットから削除 」(delete class(もしくは method)from change set)を選択して取り除きます。このとき、間違えてすぐ下にある似たような「クラス(もしくはメソッド)をシステムから削除する」(remove class(もしくは method)from system)を選んでしまわないように注意してください。

チェンジセットの内容を確認して整えたらファイルアウト(file out)します。左上のチェンジセット一覧枠の右クリック(第二ボタン、黄ボタン)メニューから、「ファイルアウト」(file out)を選択すると、「チェンジセット名.1.cs」という名前のファイルがカレントディレクトリに出力されます。すでに同名のチェンジセットがある場合は、.cs の前の数字の部分が自動的にインクリメントされます。


■ チェンジセットを別のイメージ(環境)に読み込む

チェンジセットファイル(.cs)の内容を、別のイメージに読み込むのには、このチェンジセットファイルをデスクトップにドロップインして「 新しいチェンジ・セットにインストール 」( install into new change set )するか、「ファイル・リスト」(デスクトップクリック →「開く…」(open...)→「ファイル・リスト」(file list))から「インストール」(install)します。なお、「ファイルイン」(file in)でもいいのですが、この場合、現在のチェンジセットとマージされてしまうので注意してください。

ところで、このように“インストール”したチェンジセットは(プロジェクト新規作成時に自動生成されるチェンジセットと異なり)特定のプロジェクトに関連づけされません。現在の(あるいは別途作成した)プロジェクトと、任意のチェンジセットを関連づけしたいときは、チェンジ・ソーターを開き、左上枠から関連づけしたいチェンジセットを探して選択し、同枠の右クリック(第二ボタン、黄ボタン)メニューから「現在のチェンジセットに設定」(make changes go to me)を選びます。