[CVS ダイジェスト] * cvs repository tree $CVSROOT(openlab.jp:/circus/cvsroot) | | +-- skk --+-- main (Main distribution -- Emacs Lisp, tutorials, etc) | | +-- dic (Dictionaries) | | +-- tools (Dictionary maintenance tools) | | +-- pySKK (SKK related libraries using python) | | +-- web (Web page html files) * cvs main trunk/branch history map +---------+ +---------+ legacy branch | 10.62.2 |----| 10.62.x | / +---------+ +---------+ / / +----------------+ +------------------+ +---------------+ +-----+ +-----+ |10.62 (skk10_62)|----|10.62a (skk10_62a)|----| 11.3 (Sakurai)|----|11.4 |----|11.x | <- The main trunk +----------------+ +------------------+ +---------------+ +-----+ +-----+ (daredevil skk) / / / +-----+ +-----+ +-----+ daredevil branch |11.1 |----|11.2 |----|11.x | +-----+ +-----+ +-----+ * cvs の入手方法 CVS は 以下のサイトで配布されています。 http://ftp.gnu.org/non-gnu/cvs/ Windows で CVS を利用し開発に参加される方は、cygwin 環境を利用して下さ い。詳細については CVS_on_Windows をご覧下さい。 cvs に関する情報は http://www.nongnu.org/cvs/ から入手可能です。 また、CVS に関する日本語の情報として、以下のようなページがあります。 http://radiofly.to/nishi/cvs/ http://www.itojun.org/hack/cvs/tut-kernel.html なお、Emacs 21.x では pcvs (pcl-cvs) というフロントエンドが付属してい ます。 * cvs サーバからの SKK ソースの入手 ** Login まず、guest アカウントで openlab.jp の cvs server にログインし ます。 $ cvs -d :pserver:guest@openlab.jp:/circus/cvsroot login パスワードの入力を促すプロンプトが出るので、パスワードとして `guest' を入れ、CR しましょう。 CVS password: guest (CR) ~/.cvspass というファイルに password が記録され、次からは明示的な login は不要になります (*注1)。 ** Checkout Checkout して cvs server からソースをもらってきます (このファイルをワー キングコピーといいます) (*注2)。Maintrunk (Daredevil SKK-11.x) を入手 したければ、下記のようにします $ cvs -d :pserver:guest@openlab.jp:/circus/cvsroot checkout skk/main Legacy branch (maintenance version of SKK-10.x) を入手したければ、下記 のようにします。 $ cvs -d :pserver:guest@openlab.jp:/circus/cvsroot checkout -r legacy skk/main カレントディレクトリの下にできる skk/main というディレクトリにワーキン グコピーがコピーされます。 $ cd skk/main コンパイルして使うなり、編集するなりご自由にどうぞ (但し編集結果を server のソースに反映するにはご自分専用の account が必要です。cvs account の発行を参照)。 ** Update ワーキングコピーは残しておくと、cvs server 上のソースに変更が加えられ たときに差分だけ取り寄せ、ワーキングコピーを最新の状態にすることができ ます。 ワーキングコピーは、openlab.jp:/circus/cvsroot を指しているこ とを記憶している (*注3) ので、update から始めると、自動的にログインで きます。 $ cvs update -dP update の -d オプションは repoitory 上に存在しているのに、手元の working copy 上にないディレクトリがあれば追加し、-P オプションは逆に repositry 上に存在しないディレクトリを working copy から消し去ります。 .cvsrc ファイルに update -dP と書いておき、常にこれらのオプションを付けることをお勧めします。 * 手元のソースを変更して cvs server にあるソースに変更を反映する (commit, tag) ** cvs での開発参加 openlab.jp に SSH2 公開鍵 (OpenSSH) を登録することで開発に参加できるよ うになります。 まず SSH2 公開鍵 (OpenSSH) を skk-owner@ring.gr.jp 宛てに送付してくだ さい (GPG による署名付きが望ましい)。登録完了の通知をお送りします。 OpenSSH でない、本家商用の SSH2 については、動作確認は取っていませんが、 当方で OpenSSH 形式に鍵を変換することで、商用 SSH2 client→openlab.jp の OpenSSH サーバというアクセスが可能なようですので、ご相談下さい。 ** Login SSH 経由のアクセスにおいては login は必要ありません。skk-cvs というア カウントを committer 全員共通で使用します。 ** Checkout/Update % cvs -d:ext:skk-cvs@openlab.jp:/circus/cvsroot co skk/main で checkout できます。update なども同様です。 ** Commit 下記の手順を踏んで commit して下さいね。 (a)まずワーキングコピーのソースを自分の環境でコンパイル & インストール します。 (b)自分が普段使っている環境で動作確認をして下さい。(少なくとも一度、 SKK を起動 & 終了して問題がないことを確認してね)。 (c)ML skk@ring.gr.jp に投稿するためのリリースノートを書いて下さい (主 な変更点が分る程度の簡単なもので結構です) 。この際、必ず上記でイン ストールした新たなワーキングコピーからコンパイルした SKK を使用して 書いて下さい。 (d)リリースノートの記事を書いている間中も SKK に問題がなければ、ワーキ グコピーを commit して上記リリースノートを ML skk@ring.gr.jp に投稿 して下さい。 (e)ChangeLog の更新をお忘れなく (英語で書いていますが、英語が苦痛なら 日本語で書いても全然問題ありません) (*注4) 。 $ cd skk/main $ cvs commit -m "あなたのコメントをここに。" ChangeLog $ cvs commit -m "あなたのコメントをここに。" skk.el ** Tag Daredevil SKK, legacy branch ともに Openlab でバージョンが振られたアー カイブが公開される度に tag 付けします。daredevil の tag 付けルールは、 Codename というファイルの中身を参照して下さい (但し、tag には空白文字 を含めることができないようなので、tag 付けするのは、Codename のうち、 駅名の部分だけです)。 $ cvs tag (Codename) . legacy branch はtag は skk10_62, skk10_63, skk10_64... というふうに付けます。 * 脚注 ** 注1 ワーキングコピーは、openlab.jp:/circus/cvsroot を指しているこ とを記憶している (*注3) ので、ワーキングコピーを置いているディレクトリ で checkout, update, commit, tag などの cvs コマンドを実行すると、自動 的に openlab.jp にログインして、それぞれのコマンドを実行します。 ** 注2 ~/.cvsrc に、 cvs -z3 と書いておくと、cvs server との通信内容が圧縮されます。z オプションの 数字が大きい程圧縮率が高いのですが、圧縮率が高い程サーバの負担が高いの で、3 ぐらいが丁度良いようです。 ** 注3 ワーキングコピーのあるディレクトリ (及びそのサブディレクトリ) の CVS/Root というファイルにサーバ情報が保存されています。 ** 注4 Emacs の cvs front end、pcl-cvs を使うと、commit のために C キー (`cvs-mode-changelog-commit') を押すと ChangeLog から、当日 commiter 自身が書いた部分を抜き出して、log を書く手助けをしてくれます。 Local variables: mode: outline end: