第6回 ソースコードの管理をしよう(CVS編):SourceForge.jpではじめるオープンソースプロジェクト(2/2 ページ)
プロジェクトを立ち上げ、その初期タスクもすべて片付きました。では、実際の開発作業を始めるためのソース管理の設定を行いましょう。今回は、CVSの設定方法を説明します。
既存のリポジトリをsf.jpに移動する
筆者が手掛けているplumは、sf.jpに来る前は、原作者によって別の場所でメンテナンスされていました。そして、ソースコードはCVSを利用して管理されていました。このようなソフトウェアの開発をsf.jpに移すときに、開発履歴がなくなってしまうと、古いソースに戻れなくなってしまいます。
別の場所で開発されていたソフトウェアをsf.jpに移すことになったとき、そのソフトウェアがCVSで開発されていれば、CVSリポジトリをそのままsf.jpに移すことができます。過去の開発履歴を消さずに済みますので、既存のCVSリポジトリがある場合はぜひ移動しましょう。
CVSリポジトリは、sf.jp管理者の手によって設定されます。そのため、sf.jpのサポート要求フォームを利用してサポート要求を出し、管理者に設定を依頼することになります。
まずは、既存リポジトリのアーカイブを用意しましょう。既存リポジトリのディレクトリをそのままtar+gzipでアーカイブします。以下では、plumのリポジトリplumをアーカイブしています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
次に、sf.jpシェルサーバ(shell.sourceforge.jp)のプロジェクト用の領域にこのアーカイブをコピーします。コピーはssh経由で行うので、さきほどのssh公開鍵が正しく登録され、シェルサーバにログインできなければなりません。アーカイブのコピーは以下のように行います。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
「:」以降のディレクトリのパスは、プロジェクトごとに変わります。ディレクトリのパスはプロジェクト管理のページで確認できます。また、プロジェクトのUNIX名からも推測できます。上の例で予想がつくと思いますが、「/home/groups/」の後に、「プロジェクトUNIX名の頭文字/頭2文字/UNIX名」となります。例えば、sourceforgeプロジェクトのディレクトリは、「/home/groups/s/so/sourceforge」です。
コピーできたら、sf.jpのサポート要求に、リポジトリの展開要求を出します。サポート要求のページにアクセスし、以下の情報を含めて、トラッカーに登録します。
- プロジェクト名(プロジェクトのUNIX名)
例:plum
- tarファイルの場所
例:/home/groups/p/pl/plum/plum.tar.gz
- 自分のsf.jpログイン名
例:tach
- 自分のメールアドレス
例:tach@users.sourceforge.jp
sf.jp管理者がトラッカーを見て、当該プロジェクトのcvsrootに、このアーカイブを展開します。展開の仕方などに注文がある場合は、その内容をトラッカーの中に書いておきましょう。
CVSにアクセスしてみよう
さて、それではCVSにアクセスして、ソースをチェックアウトしてみましょう。開発者がアクセスするときは、ssh経由でアクセスすることになります。ソースを登録する際に説明しましたが、ssh経由でアクセスするには、環境変数CVS_RSHを指定してからcvsコマンドを実行します。また、チェックアウトにはcvsのcheckoutサブコマンドを使います。plumのソースをCVSからチェックアウトする場合は、以下のように実行します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
自分のプロジェクトのCVSを使うときは、ユーザー名やプロジェクト名、リポジトリ名を適宜書き換えて実行してください。
CVSコミットメールを設定しよう
開発者がCVSに変更をコミットしても、自動的にほかの開発者に変更が通知されるようなことはありません。ほかの開発者は、cvs updateなどを実行してはじめて変更があったことを知ることになります。
変更をすぐに知ることができないということは、すでに変更された個所に別の変更を加えてしまう可能性があるということです。例え変更したとしてもそのままではコミットできない(コミット前に変更点の競合を解決するよう促される)のでソースコードがおかしくなることはありませんが、同じバグ修正をしていたとしたらその時間は無駄になってしまいます。
そのような無駄を避けるために、コミットメールの設定をしておきましょう。コミットメールを設定すると、コミットしたときの情報(どのファイルに変更があるか、コミットログなど)がメールで送られてくるようになります。
なお、sf.jpの場合、Subversion利用時にはWeb上でコミットメールを設定できますが、CVS利用時には手作業で設定する必要があります。詳しい方法はsf.jpのサイトドキュメントに解説されていますので、それを参考に設定してみてください。
著者プロフィール
安井 卓
VA Linux Systems Japan(株)/ Debian Project
関連記事
- SourceForge.jpではじめるオープンソースプロジェクト:第5回 プロジェクトの初期タスクを片付けよう
本連載も折り返しとなる5回目を迎えました。プロジェクトの開始時には、実際の開発を始める前にやっておくべきことがいろいろと発生します。今回は、前回登録したタスクを片付けていくことにします。 - SourceForge.jpではじめるオープンソースプロジェクト:第4回 タスクを登録しよう
- SourceForge.jpではじめるオープンソースプロジェクト:第3回 SourceForge.jpの基本操作をマスターしよう
- SourceForge.jpではじめるオープンソースプロジェクト:第2回 プロジェクトを作ろう
- SourceForge.jpではじめるオープンソースプロジェクト:第1回 アカウントを作ろう
- SourceForge.JP、Subversionを正式サポート
日本最大のオープンソースソフトウェアの開発サイトであるSourceForge.JPが、これまでCVSのみだったバージョン管理システムにSubversionを正式に加えたことを明らかにした。 - Slashdot JapanやSourceForge.JPに集うユーザーの属性とは?
- Collabnet、SourceForge Enterprise Edition事業を買収
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.