はじめに
ja.openoffice.org の CVS レポジトリにアクセスする方法について簡単にまとめました。
ja.openoffice.org のドキュメントはすべて CVS で管理されています。そうすることで、
誰が、いつ、どういう理由でドキュメントに変更を加えたか、というのが非常にはっきりします。また
失敗した場合についても、いつでも元に戻すことが可能です。
いたずら/パスワードの覗き見などをされないように、
CVS レポジトリにアクセスするには経路を暗号化する必要があり、その為の技術はトンネリングといいます。
これには SSH2 というプロトコルを用い、暗号の「鍵」を OpenOffice.org が持っている必要があるので、
まず、それを OpenOffice.org に登録しなければなりません(これが結構面倒)。それが終われば、
SSH2 のポートフォワーディングを使って経路を暗号化して安全に CVS にアクセス出来ます。
もちろん、詳しい仕組みは解らなくとも、とりあえずこのようにすればアクセスできますよという風にドキュメントは
まとめてあります。
OpenOffice.org の登録ユーザになることと、コミット権を得ること。
OpenOffice.org の登録ユーザになります。ユーザ名、パスワードはしっかり覚えておいてください。
また、コミット権を持っている必要があります。コミット権を与えるのは project owner ですが、
ウエッブサイトのクオリティを保つ目的、ある程度の技術/信頼/実績があることを必要とします。
だからこれを持っていることは大変名誉なことです。
コミッターになるにはを参照してください。
当然、これを読んでいる方はコミット権を持っていることを仮定しています。
SSH2 用の dsa key を作る
SSH2 の 公開鍵を作ります。
% ssh-keygen -d
Generating public/private dsa key pair.
Enter file in which to save the key (/home/maho/.ssh/id_dsa):
Created directory '/home/maho/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/maho/.ssh/id_dsa.
Your public key has been saved in /home/maho/.ssh/id_dsa.pub.
The key fingerprint is:
99:c8:1b:76:bc:6f:0b:ef:0e:2f:f4:64:54:36:1f:91 maho@debussy.private.org
パスフレーズは空でもいいですが、出来ればつけておいた方がよいでしょう。
public key の OpenOffice.org への登録
commit 権 を持っている人は OpenOffice.org の registrated user でもあるはずです。 まず login してください。 Issuezillaのページに飛んで、
- wwwというセクションに飛びます。
- Assigned to: となっているところに、ssh2key@openoffice.org と入力します。
- Summary に I would like to access CVS module of ja native-language project とします。
- URL に http://ja.openoffice.org と入力します。
- commit ボタンを押します。
- しばらくしたら issues@openoffice.org からメールが来ます。その URL をアクセスしてください。
- 薄い青色の Create a new attachment というセクションが出来ているはずです。
- それをクリックして、自分の SSH2 の dsa public key を plain text で attach してください。
- お疲れさまでした。これで終わりです。
- 登録されるまでしばらく待ちましょう。手動のようでして、日数がかかったりします。
- 参考として maho が実際に行った Issuezilla への登録作業をあげておきます。微妙に失敗していますが...
SSH2 でトンネルを掘る
おもむろに以下のコマンドを入力します。
% ssh -2 -N -f -L 2401:localhost:2401 tunnel@openoffice.org
これですぐさまプロンプトが返ってきたら成功です。 もし、
tunnel@openoffice.org's password:
となると失敗しています。SSH2 DSA key が OpenOffice.org にわたっていない可能性があります。 まず、ちゃんと DSA key が生成されているかどうか確認してください。 ssh2key@openoffice.orgまたは louis@openoffice.orgにメールを書いて問い合わせましょう。
CVS(Concurrent Versions System) を使う
CVS は(同時バージョン管理システムとでも訳すのでしょうか?)
ファイルのバージョン管理システムです。多人数で多くのファイル達を管理するのを目的として作られました。
これを使うと「だれがいつどういう理由でどのファイルを変更したか」が明確になりますし、
さらに「いつでも任意の前のバージョンに戻すことが出来る」という特徴があり、ja.openoffice.org では大変有効な手段です。簡単には、CVS レポジトリ(repository; 倉庫) という場所にファイルをためておき、差分という形で古いバージョンの履歴を持っています。
一般的な使い方についてはここでは触れません。CVS の基本的な仕組みについて、詳しくは書籍や
web ページ上のものを参照してください。リンク集をご活用してください。
ここでは ja.OpenOffice.org にアクセスする場合の特有の方法について述べることになります。maho というユーザの場合ですが、
他のユーザの場合は自分の OpenOffice.org での登録ユーザ名をいれます。
- CVS にlogin
% cvs -d:pserver:maho@localhost:/cvs login
Logging in to :pserver:maho@localhost:2401/cvs
CVS password:
%
パスワードは OpenOffice.org の登録したときの物と共通になっています。
- CVS レポジトリからファイルを取り出す(cvs checkout)
% cvs -d:pserver:maho@localhost:/cvs checkout ja
これで ja.openoffice.org にあるものをすべて持ってくることが出来ます。
- ファイルの変更をCVS レポジトリとチェック(cvs diff)
ファイルを変更した場合、% cvs -d:pserver:maho@localhost:/cvs diff -u filename.html
とします。これで実際にレポジトリにあるファイルと、変更した手元のファイルの違いを 見ることが出来ます。これでどこが変更されるかちゃんと調べてから commit(後述) しましょう。
- ファイルをCVS レポジトリに追加する(cvs add)
新しくファイルを追加したい場合% cvs -d:pserver:maho@localhost:/cvs add filename.html
とします。このあと cvs commit することで実際の CVS レポジトリに反映させることができます。
- ファイルを実際にCVS レポジトリに反映する(cvs commit)
ファイルを変更した場合% cvs -d:pserver:maho@localhost:/cvs commit filename.html
で、実際の CVS レポジトリジに反映させることが出来ます。commit log について
CVS commit する場合は どういう変更を加えたかという commit log を残します。 エディタが立ち上がります。簡単にで良いので commit log を書いてください。 たいていの方は英語で書かれていますが、EUC-JP でも 可能です。SJIS だと CVS も狂いますので使わないでください。分からない場合は ローマ字で書くのも手です。
- ファイルをCVS レポジトリから削除する(cvs remove)
ファイルを削除したい場合、% rm filename.html % cvs -d:pserver:maho@localhost:/cvs remove filename.html
とします。このあと cvs commit することで実際の CVS レポジトリに反映させることができます。
- ディレクトリを追加したい場合(cvs add)
新たにディレクトリを追加したい場合% cvs -d:pserver:maho@localhost:/cvs add dirname
このあと cvs commit することで実際の CVS レポジトリに反映させることができます。
ディレクトリの作成は慎重に!!
ディレクトリを削除するのは困難です。ディレクトリを作るときは慎重に!!
- ファイルをアップデートしたい場合(cvs update)
CVS の Concurrent とは「同時に」を意味するので、他の人はどんどんコミットしてゆきます。 あるディレクトリを最新の物に更新したい場合は、そのディレクトリで update としてください。% cvs -d:pserver:maho@localhost:/cvs update
こんな感じですかね。
CVSWeb(CVS の Web でのインターフェース)
ja.openoffice.org の CVS に関するログ、バージョン履歴は web browser を使って 見ることが出来ます。 ja.oo.o の CVSweb を参照してください。誰が、いつ、どのファイルを変更したか、とその理由、および 任意の以前のバージョンを見ることが出来ます。