This Project Has Not Released Any Files
PizzaFactoryは、もなみソフトウェアによる組み込み向け開発環境で、Eclipseをベースにしています。フリーでダウンロードできるお試し(Express)版もあります。以下では、PizzaFactory 3.1.1 Express版で、TOPPERS/JSP for CORTEX-M3プロジェクトのソース・ツリーをCVSから取得、編集、反映する方法を説明します。 ドキュメント作成は2008年6月です。
Sourceforgeは開発者用のCVSデータ通信をSSHで暗号化しています。したがって、PizzaFactoryでCVSクライアントの設定を行う前に、SSHの設定を行われなければなりません。 SSH接続を行うには、最初に接続そのものの設定を行います。その手順は
です(図1)。この設定は最初に参考にしたnyxのドキュメントの設定とは異なります(その後調べたところでは、nyxのドキュメントはEclipse 3.2、PizzaFactoryはEclipse 3.1.1であることが原因のようです)。前の設定でも動いたのですが、あとから考え直すとこちらのほうが自然に感じます。SSHはバッドノウハウだらけで、正直よくわかりません。
接続方法を指定したら、次はRSA暗号を生成します。
RSA暗号を生成するには
という手続きを踏みます(図2)。これで、使用しているコンピュータにRSA暗号鍵が設定され、PizzaFacotryから使えるようになりました。
CVSをSSH暗号で保護するには、PizzaFacotryでSSHを設定するだけではだめです。Sourceforge側にもSSHの設定が必要です。この設定は、暗号鍵の登録だけで済みます。
まず、Sourceforgeにログインし、アカウント管理ページに進みます。そして、ページ下部の鍵の編集をクリックします(図3)。すると、鍵の入力画面に移りますので、 上のステップでつくり、コピーした暗号鍵をここに貼り付けます。仮に複数の鍵を登録する場合には、1行に鍵を1つだけにしてください。 登録は以上で終了です。
PizzaFactoryとSourceforgeの両方でSSH暗号通信の準備ができたら、いよいよCVSからソース・ツリーを取り出します。TOPPERS/JSP for CORTEX-M3プロジェクトのソース・ツリーは、ARM版のテストビルド、Cygwinでのmakeのためのパッチが当てられているため、簡単にビルド環境の構築ができます。
PizzaFactoryを起動すると最初にワークスペースの選択を聞いてきますので、適当な場所を指示します(図4)。ワークスペースは後でもう一度正しいものを指定するので、ここではデフォルトでかまいません。
次に
操作を行い、プロジェクトをCVSからとってくるよう指示します(図5)。
設定が終わったら"Next"をクリックします。
すると、CVSサーバーの情報を聞いてきますので、
を指定します(図5)。なお、nyxのドキュメントでは、Connection Typeは extが指定されています。extsshでうまくいかないならextを試してみてください。
設定が終わったら"Next"をクリックします。
次に進むと、PizzaFactoryがSSH暗号で保護された通信を開始します。ここで、先ほど入力したRSA暗号のパスフレーズを聞かれるので、答えてやります(図7)。
正しい暗号を与えると、CVSサーバーのリポジトリにあるモジュール(ソースツリー)の一覧が表示されます。"jsp"を選んで"Next"をクリックしてください(図8)。
次にチェックアウトの方法を聞かれます。
チェックアウトとはソースツリーの「持ち出し」です。ここでは"Checkout as project in a workspace"、つまり、ワークスペース内のプロジェクトとしてソースツリーを取得します(図9)。
設定が終わったら"Next"をクリックします。
プロジェクトとして取り出すと指定したので、今度はそのプロジェクトの格納ワークスペースを聞かれます。
ワークスペースはただのディレクトリです。事前に下ごしらえをする必要はありません。デフォルトでもかまいませんが、Cygwinのホーム・ディレクトリを指定すると便利でしょう。私のホームディレクトリは /home/suikan です。これはPizzaFactoryには C:\cygwin\home\suikan と指定します(図10)。CygwinのディレクトリとWindowsのディレクトリの対応は、Cygwinをどこにインストールするかで変わります。あらかじめ調べておきましょう。
設定が終わったら"Next"をクリックします。
最後に、リポジトリの中のどのバージョンのソースツリーを取り出すかを聞かれます。
ここではHEADを指定します。HEADはソースツリーの最新版をあらわします。
"Finish"をクリックすると、ソースツリーの取得が始まります。回線にもよりますが2,3分とかからず全ソースの取得が完了します。
ソースの取得が終わると、左側のビューにソースツリーが表示されます(図12)。ビューがない場合にはメニューからWindow -> Show View -> C/C++ Projects を選んでください。ビューが表示されます。
一日の作業の初めに、必ずリポジトリから最新のソースを取得しましょう。前のステップで、プロジェクトとCVSリポジトリの間の関係が設定されているため、以後はプロジェクトを開くだけでCVS操作の準備ができています。
ツリーの希望のファイルをクリックし、コンテキスト・メニューからTeam -> Updateを実行します。ローカルPCにあるファイルがリポジトリの最新バージョンで置き換えられます。
ファイルではなく、フォルダをクリックしてメニューを実行すると、フォルダ以下が最新のファイルで置き換えられます。
ソースの編集は簡単です。
ビューのアイコンをダブルクリックしてファイルを開き、編集してください。保存すれば作業は終わりです。
ローカルのファイルを編集して変更を加えると、ファイル名の前に">"が表示されます。
編集したファイルは、なるべく早くテストして、正しく修正されたことを確認した後にcommitしましょう。Commitとは、編集結果をリポジトリに反映する作業です。
Commitをかけるには、ツリーの中の、変更をかけたファイルをクリックし、コンテキスト・メニューからTeam -> Commitを実行します。ローカルPCにあるファイルがCVSリポジトリに送られます。
ファイルではなく、フォルダをクリックしてメニューを実行すると、フォルダ以下の編集済みファイルがCVSのリポジトリに送られます。
CommitをかけるとPizzaFactoryからコメントを入力するよう求められます。このコメントは必ず残してください。コメント内容は、チームメンバーに対して「なぜ、どのような変更を行ったか」明確に伝わるようなものをお願いします。
編集はしたものの、結果が思うようなものではなく、元に戻したいと思うこともあります。そんな場合はCVSから最新版を盛ってくれば回復できます。
編集結果を破棄するには、ツリーの中の、変更をかけたファイルをクリックし、コンテキスト・メニューからReplace with -> Latest from HEADを実行します。ローカルPCにある編集結果が破棄され、CVSリポジトリのHEADで置き換えられます。
ファイルではなく、フォルダをクリックしてメニューを実行すると、フォルダ以下のファイルがHEADで置き換えられます。
自分が持っている最新のファイルと、CVSのリポジトリにある過去の版の比較をすることができます。
比較をするには、ツリーの中の、希望するファイルをクリックし、コンテキスト・メニューからCompare with -> Histroy...を実行します。すると、図13のようなHisotryビューが現れます。
Historyビューには、これまでcommitされた各版について、commit日時、commitした人、コメントが表示されます。このコメントを見ることで、いつ、どのような変更がなされたかわかるため、commit時のコメントは非常に重要です。
どの版と比較したいか決まったら、その版をダブルクリックします。すると、エディタがCompare状態で開きます(図14)。
この状態では、左右のペインに二つの版が並べられ、双方が同期してスクロールします。スクロールバーの右横に小さな四角が点在していますが、これがファイル中の相違のある場所で、クリックすると画面上に選択状態で表示されます。
まれに、CVSリポジトリのHEAD(最新版)ではなく、過去の版を使って作業したいことがあります。
過去の版を取得するにはファイルをクリックし、コンテキスト・メニューから Replace with -> History... を実行します。すると、Historyビューが現れますので、必要な版をクリックし、コンテキストメニューから Get Contents を実行します(図16)。
Get Contentsを実行後も、ファイル名横のバージョン番号はかわらず、編集中を表す">"が名前の前にくるだけです。取得した古い版のバージョン番号は表示されません。これは、最新のファイルに古い版をコピー&ペーストしたということです。
古い版で作業したあと、その結果をcommitする場合は、よく考えてからにしてください。古い版で作業するのは、単なる確認のことが多く、commitをしなければならないかどうかは、別の話です。
プロジェクトに新しいファイルを追加したくなることがあります。
新しいファイルをCVSのリポジトリに追加するにはファイルをクリックし、コンテキスト・メニューから Team -> Add to Version Control を実行します。これでCVSへ追加可能になりました。本当に追加するには commit を行います。
ファイルをCVSのリポジトリに追加する前に、開発チームの他のメンバと話し合うことを強くお勧めします。CVSはうっかり追加したファイルでも永久削除できないため、取り返しがつかないのです。